2010-04-15 119 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)(.*)"