2010-04-15 84 views
5

我需要修改這個表達式正則表達式負先行

href=\"(.*)\" 

它匹配這個...

href="./pothole_locator_map.aspx?lang=en-gb&lat=53.153977&lng=-3.533306" 

不匹配這個...

href="./pothole_locator_map.aspx?lang=en-gb&lat=53.153977&lng=-3.533306&returnurl=AbandonedVehicles.aspx" 

試過,但沒有運氣

href=\"(.*)\"(?!&returnurl=AbandonedVehicles.aspx) 

任何幫助將不勝感激。

謝謝, 鋁。之前該字符串通過匹配消耗

+0

URL參數是沒有順序的,所以你必須要能夠處理'/pothole_locator_map.aspx?lang= en-gb&returnurl = AbandonedVehicles.aspx&lat = 53.153977&lng = -3.533306'以及其他變體。爲什麼不檢查GET參數「returnurl」的存在性? – Welbog 2010-04-15 14:52:48

回答

9

向前看符號應放置,即

href=\"(?!.*&returnurl=AbandonedVehicles\.aspx)(.*)\" 
3
href="(?!.*returnurl=AbandonedVehicles\.aspx)(.*)"