2016-09-28 4 views
1

Ich habe einen regulären Ausdruck, der von dem Ende einer URL entfernen .php:Regex Einstimmungsmuster mit spezifischen disqualifier

^(.*)\.php$

dies mit dem ersten Erfassungs übereinstimmen www.mysite.com/something.php wird Gruppe sein www.mysite.com/something

Ich möchte dies zwicken, um alle URLs wie dieses einschließlich eines spezifischen URL-Pfades zu entsprechen. Zum Beispiel "exclude.php" nicht abgestimmt werden sollte, und lassen so die .php

www.mysite.com/exclude.php ->www.mysite.com/exclude.php

aber für einen anderen Weg sollte es entfernen es:

www.mysite.com/anythingelse.php ->www.mysite.com/anythingelse

Antwort

1

Sie können einen Text ein negatives Lookbehind verwenden für den Ausschluss vor .php:

^(.+)(?<!\/exclude)\.php$ 

RegEx Demo

(?<!\/exclude) negativ Lookbehind Ausfall geltend zu machen, wenn .php von /exclude

vorangestellt ist
Verwandte Themen