繁体   English   中英

如何为JSON对象编写正则表达式?

[英]How to write regular expressions for json object?

我是regex的新手,并且已经被要求写一些复杂的表达式(嗯,它们可能很简单,但对我来说却不是:))。
我尝试了许多变化,但从未成功。 我要写的表达式是:
1. {“ d”:{“ results”:SOME_JSON_OBJECT}}
2. {“ d”:{“ results”:{“ JSON_KEY_AS_STRING”:SOME_JSON_ARRAY / OBJECT}}}
3. {“ d”:{“ results”:[SOME_JSON_OBJECTS]}}
4. {“ d”:SOME_JSON_ARRAY / OBJECT_OR_AN_PRIMITIVE}

注意,ANY_VALUE可以是任何东西。 唯一重要的是所有不是ANY_VALUE的字符,包括所有“特殊”字符,例如“,{,},[,] 、:等)。

有人可以协助吗? 提前致谢!

Java regex风格不支持regex中的递归模式(PCRE和.NET具有允许递归模式的扩展名)。

因此,您不能让正则表达式正确解析对象,因为它们可以具有任意深度。 您需要的是JSON解析器,如果您想自己写一个,我建议您看一下诸如ANTLR或GOLD之类的解析器工具,它们可以帮助您完成该过程(您为解析编写了语法,然后工具会为您创建实际的解析代码)。

是我前段时间为GOLD写的JSON语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM