如何使这个json正则表达式贪婪

How to make this json regex greedy

本文关键字:正则表达式 贪婪 json 何使这      更新时间:2023-09-26

我的json文件中有一个类似的regex

"body": {
   "content": "<div class=(?:'"|')content(?:'"|') [^>](.*?)</div>'';content:''1",
}

到目前为止,它唯一匹配的第一个内容div.

有人能告诉我如何让它变得贪婪吗?

.*?是一个非贪婪(或懒惰)的量词。要使其贪婪,只需删除?:

"body": {
   "content": "<div class=(?:'"|')content(?:'"|') [^>](.*)</div>'';content:''1",
}

当然,正如前面多次提到的,您不应该使用正则表达式来解析html。

要使用全局模式,只需在创建RegExp时指定它,如下所示:

"body": {
   "content": /<div class=(?:"|')content(?:"|') [^>](.*)</div>'';content:''1/g,
}

或者像这样:

"body": {
   "content": new RegExp("<div class=(?:'"|')content(?:'"|') [^>](.*)</div>'';content:''1", "g"),
}

当然,在这一点上,它不再是纯粹的Json。真的,我建议在其他地方指定标志。例如,在实际进行html处理的任何代码中。