首页 新闻 赞助 找找看

请教正则高手

0
悬赏园豆:5 [待解决问题]

利用平衡组匹配完整的json时,可能会遇到字符串中包含大括号的情况,比如:
文本:
{"abc":"12}3","efg":{}}
正则:
(?<Json>{[^{}]*(?:(?:(?'op'{)[^{}]*)+(?:(?'-op'})[^{}]*)+)*(?(op)(?!))})

这种情况下会匹配错,因为"12}3"中的括号其实只是文本,不能当作括号,求高手指点。
不是不想多给园豆,实在是没有了。

luotong的主页 luotong | 初学一级 | 园豆:4
提问于:2022-05-10 09:02
< >
分享
所有回答(1)
0

反向断言 }后不能是 "
}(?!=")

码农白里黑 | 园豆:205 (菜鸟二级) | 2022-05-11 08:55

感谢你的回复,但是我不知道加在哪里,能写个完整的正则吗,不胜感激

支持(0) 反对(0) luotong | 园豆:4 (初学一级) | 2022-05-12 16:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册