我有一个正则表达式,它将从URL的末尾删除.php:
^(.*)\.php$
这将与www.mysite.com/something.php匹配,第一个捕获组是www.mysite.com/something
我想调整一下以匹配所有这样的网址,不包括特定的网址路径。例如" exclude.php"不应该匹配,因此留下.php
www.mysite.com/exclude.php
- > www.mysite.com/exclude.php
但是对于任何其他路径,它应该删除它:
www.mysite.com/anythingelse.php
- > www.mysite.com/anythingelse
答案 0 :(得分:1)
您可以使用负面的lookbehind来排除.php
之前的文字:
^(.+)(?<!\/exclude)\.php$
如果(?<!\/exclude)
前面有.php
,那么 /exclude
会断言失败