我需要在文档中找到所有JSON字符串。
{
开头的字符串都是JSON。答案 0 :(得分:2)
这是一个正则表达式解决方案:
{
(?>
"(?>\\.|[^"])*"|
[^{}"]+|
(?R)
)*
}
这将捕获可以具有无限嵌套的JSON结构,例如
{
"foo": "bar",
"foo": false,
"foo": 123,
{
"foo": "bar"
},
"foo": "}}}"
}
如果您有自己的测试用例或者需要对表达式进行解释,我已经设置了regex101 playground。
不幸的是,JavaScript does not provide the PCRE recursive parameter (?R)
。 XRegExp是一个开源JavaScript库,提供增强的常规表达式,包括对递归匹配的支持。