我的 json 文件中有这样的正则表达式
"body": {
"content": "<div class=(?:\"|')content(?:\"|') [^>](.*?)</div>\\;content:\\1",
}
截至目前,它唯一匹配第一个内容 div。
有人能告诉我如何让它变得贪婪吗?
我的 json 文件中有这样的正则表达式
"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 处理的任何代码中。