2011-09-19 91 views
0

我想在文本字符串中替換特定的模式。 該模式是一個包含單詞「sak」的href。紅寶石正則表達式在第一場比賽使子停止

我的劇本目前看起來是這樣的:

ccontent=ccontent.sub(/<a .+?href=\"([^\"]+)\"[^\>]*>Sak<\/a>/, '') 

的問題是,這種替換整個字符串。 (該字符串包含兩個鏈接)。 問題出在`a。+?「符號周圍的某處,它會通過我想要完全替換的鏈接並進入下一個鏈接並替換整個鏈接。

但我希望它在STOP時停止到達第一個模式匹配,使其僅擦除「SAK」鏈接。

如何使模式匹配停在第一時間到達「HREF」?

回答

4

你的表情是貪婪的,因爲.+?只要圖案仍然匹配,實際上將保持匹配任何字符。

只需使用字符集您已經在正則表達式的末尾使用:

ccontent.sub(/<a [^>]*href=\"([^\"]+)\"[^>]*>Sak<\/a>/, '')