具有特定取消资格的正则表达式匹配模式
Regex match pattern with specific disqualifier
我有一个正则表达式,可以从 URL:
的末尾删除 .php
^(.*)\.php$
这将匹配 www.mysite.com/something.php,第一个捕获组是 www.mysite.com/something
我想调整它以匹配所有 urls 这样一个排除特定的 url 路径。例如 "exclude.php" 不应匹配,因此保留 .php
www.mysite.com/exclude.php
-> www.mysite.com/exclude.php
但对于任何其他路径,它应该删除它:
www.mysite.com/anythingelse.php
-> www.mysite.com/anythingelse
您可以使用否定回溯来排除 .php
:
之前的文本
^(.+)(?<!\/exclude)\.php$
如果 .php
前面有 /exclude
,(?<!\/exclude)
是断言失败的否定回顾
我有一个正则表达式,可以从 URL:
的末尾删除 .php^(.*)\.php$
这将匹配 www.mysite.com/something.php,第一个捕获组是 www.mysite.com/something
我想调整它以匹配所有 urls 这样一个排除特定的 url 路径。例如 "exclude.php" 不应匹配,因此保留 .php
www.mysite.com/exclude.php
-> www.mysite.com/exclude.php
但对于任何其他路径,它应该删除它:
www.mysite.com/anythingelse.php
-> www.mysite.com/anythingelse
您可以使用否定回溯来排除 .php
:
^(.+)(?<!\/exclude)\.php$
如果 .php
前面有 /exclude
,(?<!\/exclude)
是断言失败的否定回顾