我有以下正则表达式:
,|\{[^]]+\}(*SKIP)(*FAIL)
忽略大括号内的逗号。所以下面的逗号被忽略:
{你好呀}
但是,我还需要它忽略大括号中的逗号和嵌套在大括号内的方括号中的逗号。所以下面的逗号应该被忽略:
{“星星”:[6,5]}
任何人都可以建议一个正则表达式。谢谢
您可能要做的是匹配开头{
,然后不匹配此字符类中列出的任何字符,[^{}\r\n\]\[]
或者当您遇到开头[
匹配时直到结束匹配。
如果在字符类中添加了换行符以防止演示中的跨行并[]
为清楚起见将所有的都转义。
,|{(?:[^{}\r\n\]\[]|\[[^\r\n\]]*\])*}(*SKIP)(*FAIL)
,
匹配逗号|
或者{
比赛开场{(?:
非捕获组
)*
关闭非捕获组并重复 0+ 次}
比赛结束 }(*SKIP)(*FAIL)
另一种选择是,以匹配所有之间{
,以}
,|\{[^{}\r\n]*\}(*SKIP)(*FAIL)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句