Javascript 替换nodejs中的非自动关闭br或img标记

Javascript 替换nodejs中的非自动关闭br或img标记,javascript,regex,node.js,Javascript,Regex,Node.js,问题与中的相同,但提供的regexp(]+)(?需要lookback支持,而nodejs没有这种支持 如何在nodejs中实现相同的结果 源HTML由另一个应用程序生成。稍微更改一下正则表达式: /(<img[^>]*[^\/>])>/ 您可以将该正则表达式重新构造为与相同的正则表达式匹配但不使用lookback的正则表达式: /(<img(?:[^>\/]|\/(?!>))+)>/ /(\/]\/(?!>)+)>/ 但是,请注意,这与您应该

问题与中的相同,但提供的regexp
(]+)(?
需要lookback支持,而nodejs没有这种支持

如何在nodejs中实现相同的结果


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

稍微更改一下正则表达式:

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

您可以将该正则表达式重新构造为与相同的正则表达式匹配但不使用lookback的正则表达式:

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

但是,请注意,这与您应该使用的答案几乎相同:-)

为什么要这样做

标记不需要关闭,而且HTML文档中的自动关闭语法完全被忽略。如果您使用JSX语法扩展,则需要同时关闭img和br。嗯,您的第一个正则表达式比我的好得多…+1太棒了!第一个就够好了!只是它没有正确匹配没有结束空格的标记,例如-但我甚至不确定它们是否真的有效@罗伯托:你可以用
/(]*[^\/>])?)>/
/(<img(?:[^>]*[^\/>])?)>/
/(<img(?:[^>\/]|\/(?!>))+)>/