在另一个字符串中找到JSON字符串的正则表达式

时间:2017-04-07 02:32:53

标签: php json regex string

我想在另一个字符串中提取JSON字符串。

目前,我使用file_get_contents获取完整字符串,并在字符串上运行以下模式:https://regex101.com/r/5jAucO/1 这几乎给了多个匹配。

我想提取window._sharedData中保存的JSON字符串,但尚无法实现。有人知道我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

为什么不在正则表达式中包含_sharedData? _sharedData\s*=\s*\{.+\}

  • 或与lookbehind: (?<=_sharedData\s=)\s*\{.+\}

  • 或从捕获组中获取json: _sharedData\s*=\s*(\{.+\})

lookbehind的一个问题是,如果他们在_sharedData和=之间添加了额外的空白字符,那么它就不会匹配。

这只适用于JSON中没有换行符。