2010-04-15 8 views
5

préanalyse Je dois modifier cette regexRegex négative

href=\"(.*)\" 

qui correspond à cette ...

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

Pour cette ... pas correspondre

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

Essayé, mais sans la moindre chance

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

Toute aide serait grandement appréciée.

Merci, Al.

+0

paramètres d'URL ne sont pas ordonnés, vous devez être en mesure de traiter '/pothole_locator_map.aspx?lang= fr-fr & returnurl = AbandonedVehicles.aspx & lat = 53.153977 & lng = -3.533306' et d'autres variations aussi. Pourquoi ne pas simplement vérifier l'existence du paramètre GET "returnurl"? – Welbog

Répondre

9

Lookaheads doit être placé avant que la chaîne est consommée par correspondance, à savoir

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