利用平衡组匹配完整的json时,可能会遇到字符串中包含大括号的情况,比如:
文本:
{"abc":"12}3","efg":{}}
正则:
(?<Json>{[^{}]*(?:(?:(?'op'{)[^{}]*)+(?:(?'-op'})[^{}]*)+)*(?(op)(?!))})
这种情况下会匹配错,因为"12}3"中的括号其实只是文本,不能当作括号,求高手指点。
不是不想多给园豆,实在是没有了。
反向断言 }后不能是 "
}(?!=")
感谢你的回复,但是我不知道加在哪里,能写个完整的正则吗,不胜感激