我正在尝试创建一种模式来替换以下字符串中的无效逗号(即,括号末尾的逗号)
[{"terms": {"color": [ "Green", "White",]}},]
无效的逗号是:",]
和},]
之后的逗号
所以我需要写一个模式来找到最后一个",]
和},]
我现在拥有的模式是
[\}]+\s*,+\s*\]
这似乎选择了}},]
,但是我只想要},]
。
它正在选择最后两个大括号而不是一个。
答案 0 :(得分:0)
实际上令人讨厌的子字符串是一个逗号,后跟具有结构性语义/语法模式而不是内容的字符。前面的符号(双引号,大括号)无关紧要。因此,您可以统一使用的模式并简化正则表达式:
/,\s*([\]\}])/g
将所有匹配项替换为捕获组#1。
根据需要将符号添加到捕获组内的字符类中(我已经添加了右括号)。