【发布时间】:2017-01-29 14:14:41
【问题描述】:
我有一个字符串:
var a = '<<<<<<<br>>>>>>>>'
我想替换:&lt; 与 &lt; 和 &gt; 与 &gt;,但我不想替换 <> 如果它是 <br> 标记。所以,我正在这样做
a.replace(/<(?!br>)/g, '<').replace(/>(?<!<br)/g, '>')
第一个替换有效,但第二个无效。
【问题讨论】:
-
对于一般情况,我认为您可能需要一个解析器来处理这个问题。
-
请参阅jsfiddle.net/pwh3ht1t,您可能会知道如何通过 1 个正则表达式替换调用来解决此问题。
-
您可以将
<+替换为&lt;并将>+替换为&gt;,这是我看到正则表达式发生这种情况的最简单方法。 -
实际上,我读错了这个问题。现在我想知道那是真的你想要做的还是XY problem?
标签: javascript regex regex-negation