在nodejs中不要replace自封闭的br或img标签

问题与closures所有HTML未closures的IMG标签相同 ,但提供的正则expression式(<img[^>]+)(?<!/)>需要向后看支持 – 哪个nodejs没有。

我怎样才能在nodejs中获得相同的结果?

源HTML由另一个应用程序生成。

改变正则expression式:

 /(<img[^>]*[^\/>])>/ 

或者另一种方式(最可能慢一点):

 /(<img(?:(?!\/>)[^>])+)>/ 

我试图不改变至less1个字符的假设为> ,即<img>不会被你的正则expression式/(<img[^>]+)(?<!\/)>/匹配,也不是正则expression式我上面build议。

如果你想<img>与正则expression式匹配(这样你可以修改它):

 /(<img(?:[^>]*[^\/>])?)>/ 

您可以将该正则expression式重构为一个匹配相同但不使用逆序的expression式:

 /(<img(?:[^>\/]|\/(?!>))+)>/ 

但是,请注意, 除了XHTML自包含标签,其答案应包含 :-),这是RegEx匹配开放标签的近似重复