当前位置:  开发笔记 > 编程语言 > 正文

使用具有不同前缀和后缀表达式的共享子表达式进行正则表达式更改

如何解决《使用具有不同前缀和后缀表达式的共享子表达式进行正则表达式更改》经验,为你挑选了0个好方法。

我有下面的正则表达式有3个替换(见下面的整个正则表达式),每个都有自己的前缀和后缀字符.我觉得这是过分重复,并希望尽可能简化.我在一个不正确形成的JSON字符串中匹配值,以替换没有带索引键的键的值.

每个交替应该与前缀和后缀对匹配子表达式.我此时有3对,但这可能会改变.如果我有更多对,整个正则表达式将成为修改和理解我是否需要修改重复子表达式的噩梦.

如何缩短下面的整个正则表达式而不需要重复列出的后缀和前缀对的子表达式

子表达,在每次交替中重复

("(?:[^\\"]+|\\.)*")

前缀/后缀对

    {,

    ,,,

    ,}

整个正则表达式

/\{("(?:[^\\"]+|\\.)*")(?=,)|,("(?:[^\\"]+|\\.)*")(?=,)|,("(?:[^\\"]+|\\.)*")(?=\})/g

测试字符串

{"trailer":"","pallet":"A","date":"11-Dec-15","c","z","a"}

{"trailer":"","pallet":"A","a","date":"11-Dec-15"}

{"a","trailer":"","pallet":"A","date":"11-Dec-15"}

{"a","trailer":"","pallet":"A","date":"11-Dec-15","z\""}

{"trailer":"","pallet":"A","11-Dec-15"}

{"trailer\"","pallet":"A","11-Dec\"-15","z\""}

实例

请限制正则表达式替换的答案而不是JSON验证技术,因为我试图更好地理解正则表达式,这只是我使用的示例.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有