1
我有一个字符串:正则表达式 - 负负回顾后与BR
var a = '<<<<<<<br>>>>>>>>'
我想替换:<
与<
和>
与>
,但我不希望更换<>
如果是<br>
标签。所以,我这样做
a.replace(/<(?!br>)/g, '<').replace(/>(?<!<br)/g, '>')
第一个替换工作,但第二个不是。
我有一个字符串:正则表达式 - 负负回顾后与BR
var a = '<<<<<<<br>>>>>>>>'
我想替换:<
与<
和>
与>
,但我不希望更换<>
如果是<br>
标签。所以,我这样做
a.replace(/<(?!br>)/g, '<').replace(/>(?<!<br)/g, '>')
第一个替换工作,但第二个不是。
JavaScript不支持lookbehinds,因此您的表达式无效。
为了打开括号:
<(?!\/?\w)
用于封闭括号:
\B>
\B
表示非单词边界。
JS:
> a.replace(/<(?!\/?\w)/g, '<').replace(/\B>/g, '>')
< "<<<<<<<br>>>>>>>>"
对于一般情况下,我想你可能需要一个解析器来处理这个问题。 –
查看https://jsfiddle.net/pwh3ht1t/,它可能会给你一个想法如何解决这个1正则表达式替换调用。 –
您可以用'<'和'> +'替换'<+'与'>',这将是我看到发生在正则表达式中最简单的方式。 – vlaz