问题与Close all HTML unclosed IMG tags中的问题相同,但提供的正则表达式(<img[^>]+)(?<!/)>
需要后备支持 - nodejs没有。
如何在nodejs中获得相同的结果?
源HTML由另一个应用程序生成。
答案 0 :(得分:3)
稍微更改正则表达式:
/(<img[^>]*[^\/>])>/
或另一种方式(最可能更慢):
/(<img(?:(?!\/>)[^>])+)>/
我尝试不将至少1个字符的假设更改为>
,即<img>
将不会与您的正则表达式/(<img[^>]+)(?<!\/)>/
匹配,也不会与我上面建议的正则表达式匹配。< / p>
如果您希望<img>
与正则表达式匹配(以便您可以修改它):
/(<img(?:[^>]*[^\/>])?)>/
答案 1 :(得分:2)
您可以将该正则表达式重组为匹配相同但不使用lookbehind的表达式:
/(<img(?:[^>\/]|\/(?!>))+)>/
然而,请注意,这是RegEx match open tags except XHTML self-contained tags的近似重复,你的答案应该是: - )