2013-07-03 62 views
0

我試圖製作一個RegEx,可以從字符串中挑出單詞,但如果它們位於標記內部則忽略它們。例如:即使searchword是SPAN,也不要替換span標籤。正則表達式不能在Javascript中使用:SCRIPT5018:意外量詞

我至今是:

(?<![<\/])\bspan\b(?!>) 

http://regex101.com/r/vS6yG6

跨度顯然是一個佔位符。在腳本中,它是從字典中動態生成的。

這就是我試圖運行:

var reg = new RegExp(the expression, 'gi'); 

我逃過/,所以我不知道問題出在哪裏。

而且這是我得到的結果:SCRIPT5018: Unexpected quantifier

任何幫助,將不勝感激。我在regex101.com的幫助下製作了正則表達式。

+0

可能重複(http://stackoverflow.com/questions/17373919/replace-content-while-ignoring-tags) –

+0

啊,這是exactelly我是什麼這樣做。但'span'被添加到一個循環中。我使用鏈接中的表達式,但是轉義了'/'。 – Vhendin

+3

JavaScript中不存在Negative LookBehind。 [有解決方法](http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript) –

回答

1

嘗試......

/>[^<>]*\b(span)\b[^<>]*<?/ig 
+0

不,選擇一半的字符串。 – Vhendin