正则表达式 - 负面负面观察与br

时间:2016-09-21 11:00:21

标签: javascript regex regex-negation

我有一个字符串:

var a = '<<<<<<<br>>>>>>>>'

我想将<替换为&lt;,将>替换为&gt;,但如果<>,我不想替换<br> {1}}标记。所以,我正在做这个

a.replace(/<(?!br>)/g, '&lt;').replace(/>(?<!<br)/g, '&gt;')

第一次更换正在工作,但第二次没有。

1 个答案:

答案 0 :(得分:0)

Javascript不支持lookbehinds,因此你的表达式无效。

打开括号:

<(?!\/?\w)

关闭括号:

\B>

\B表示非字边界。

JS:

> a.replace(/<(?!\/?\w)/g, '&lt;').replace(/\B>/g, '&gt;')
< "&lt;&lt;&lt;&lt;&lt;&lt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;"