正则表达式字符串替换

时间:2010-07-08 15:31:16

标签: javascript regex

我有html代码作为字符串变量

喜欢a =“< span>西班牙将赢得.......< / span>”

我希望在字符串中高亮显示“spa”。

我必须使用RegExp,我应该如何编写它忽略span标记上的“spa”的模式,但在西班牙中突出显示。

由于

2 个答案:

答案 0 :(得分:6)

JavaScript不支持lookbehind,所以你有点受限,但这应该有效:

\bSpa(?!n[^>]*>)

<强>解释

\b:断言匹配从单词边界开始。

Spa:匹配Spa

(?!...):断言无法匹配以下内容:

nn,然后是......

[^>]*:零个或多个非>个字符,后跟......

>>

答案 1 :(得分:1)

你可以试试这个:

var s = "<span> Spain will win ....... </span>Spaniel";
s.replace(/(spa(?!n[^>]*>))/ig,'<span class="highlight">\$1</span>')