2010-06-25 43 views
2

我希望能夠構造一個正則表達式,該正則表達式在一個HTML代碼中搜索某個特定模式,其中一個參數被否定(即,查找x,其中y是而不是存在)。與正則表達式匹配的否定詞

示例:我想查找寬度不等於「500」的圖像寬度參數。

  • width="640" height="360"將匹配

  • width="500" height="360"將不匹配

我使用一個搜索&更換WordPress插件運行正則表達式 - http://urbangiraffe.com/plugins/search-regex - 它只是使用通用的正則表達式語法

我能夠匹配簡單的查詢,但我恐怕否定是有點超越我 - 任何幫助將不勝感激。

感謝大衛 -

回答

2

您需要使用negative lookahead

width="(?!500)([^"]+)" 
+1

謝謝安迪,這很好。 – David 2010-06-25 06:48:20

1

正則表達式的方式做否定會是負的向前看符號,見here。這看起來像

<img [^>]*width=(?!"500") 

但它會容易得多,少容易出錯,不使用正則表達式,並使用HTML解析器來代替。