我有html代码作为字符串变量
喜欢a =“< span>西班牙将赢得.......< / span>”
我希望在字符串中高亮显示“spa”。
我必须使用RegExp,我应该如何编写它忽略span标记上的“spa”的模式,但在西班牙中突出显示。
由于
答案 0 :(得分:6)
JavaScript不支持lookbehind,所以你有点受限,但这应该有效:
\bSpa(?!n[^>]*>)
<强>解释强>
\b
:断言匹配从单词边界开始。
Spa
:匹配Spa
。
(?!...)
:断言无法匹配以下内容:
n
:n
,然后是......
[^>]*
:零个或多个非>
个字符,后跟......
>
:>
。
答案 1 :(得分:1)
你可以试试这个:
var s = "<span> Spain will win ....... </span>Spaniel";
s.replace(/(spa(?!n[^>]*>))/ig,'<span class="highlight">\$1</span>')