我有下面的正则表达式有3个替换(见下面的整个正则表达式),每个都有自己的前缀和后缀字符.我觉得这是过分重复,并希望尽可能简化.我在一个不正确形成的JSON字符串中匹配值,以替换没有带索引键的键的值.
每个交替应该与前缀和后缀对匹配子表达式.我此时有3对,但这可能会改变.如果我有更多对,整个正则表达式将成为修改和理解我是否需要修改重复子表达式的噩梦.
题
如何缩短下面的整个正则表达式而不需要重复列出的后缀和前缀对的子表达式?
子表达,在每次交替中重复
("(?:[^\\"]+|\\.)*")
Run Code Online (Sandbox Code Playgroud)
前缀/后缀对
整个正则表达式
/\{("(?:[^\\"]+|\\.)*")(?=,)|,("(?:[^\\"]+|\\.)*")(?=,)|,("(?:[^\\"]+|\\.)*")(?=\})/g
Run Code Online (Sandbox Code Playgroud)
测试字符串
{"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验证技术,因为我试图更好地理解正则表达式,这只是我使用的示例.
我一直试图弄清楚是否可以通过一系列修订来过滤日志.
例如,假设我有一个包含超过1,004个修订版的存储库.我想在以下范围内显示每个修订:
969,972,975,989,996,1000-1004
Run Code Online (Sandbox Code Playgroud)
我不是手动查看每一个,而是快速浏览一下这些修订.它们会影响存储库中的多个文件夹,并且不会共享任何与969-1004之间的排除修订不常见的共同点