2010-07-08 220 views
1

我的HTML代碼作爲字符串變量正則表達式替換字符串

像= 「<跨度>西班牙將贏得....... </SPAN >」

,我想heightlight「溫泉「在字符串。

我必須使用正則表達式,我應該怎麼寫在西班牙,它忽略了span標記的「溫泉」的格局,但亮點。

感謝

回答

6

JavaScript不支持回顧後,讓你有點有限,但這應該工作:

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

說明:

\b:斷言匹配從單詞邊界開始。

Spa:匹配Spa

(?!...):斷言,這是不可能匹配以下:

n:一個n,隨後...

[^>]*:零個或多個非>字符,接着...

>:一個>

+0

@Gert G:[報價]我想在字符串heightlight 「水療」 了[/ quote] – jigfox 2010-07-08 16:25:58

1

你可以試試這個:

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

@Gert G:是的,我試過!我沒有強調西班牙,但並沒有要求,更應突出從「」「西班牙」的只有「水療」,而不是「溫泉」。所得到的字符串: 「<跨度類=」亮點「>溫泉在將贏得.......<跨度類=」亮點「>溫泉尼爾」 – jigfox 2010-07-08 16:23:45