2010-04-15 3 views
5

Мне нужно изменить это регулярное выражениеRegex отрицательный предпросмотр

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) 

Любая помощь будет высоко оценена.

Thanks, Al.

+0

параметры URL не упорядочены, так что вы должны быть в состоянии иметь дело с '/pothole_locator_map.aspx?lang= en-gb & returnurl = AbandonedVehicles.aspx & lat = 53.153977 & lng = -3.533306' и другие варианты. Почему бы просто не проверить наличие параметра GET «returnurl»? – Welbog

ответ

9

Lookaheads должны быть помещены перед строкой потребляется путем сопоставления, т.е.

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