我想在另一个字符串中提取JSON字符串。
目前,我使用file_get_contents
获取完整字符串,并在字符串上运行以下模式:https://regex101.com/r/5jAucO/1
这几乎给了多个匹配。
我想提取window._sharedData
中保存的JSON字符串,但尚无法实现。有人知道我该怎么做吗?
答案 0 :(得分:1)
为什么不在正则表达式中包含_sharedData?
_sharedData\s*=\s*\{.+\}
或与lookbehind:
(?<=_sharedData\s=)\s*\{.+\}
或从捕获组中获取json:
_sharedData\s*=\s*(\{.+\})
lookbehind的一个问题是,如果他们在_sharedData和=之间添加了额外的空白字符,那么它就不会匹配。
这只适用于JSON中没有换行符。