如何为以.php结尾的文件制作正则表达式?

Sim*_*ens 2 regex regex-negation regex-lookarounds

我正在尝试编写一个非常简单的正则表达式,它匹配任何不以.php结尾的文件名.我想出了以下......

(.*?)(?!\.php)$
Run Code Online (Sandbox Code Playgroud)

...但是这匹配所有文件名.如果有人能指出我正确的方向,我将非常感激.

Tom*_*lak 6

几乎:

.*(?!\.php)....$
Run Code Online (Sandbox Code Playgroud)

最后四个点确保检查前瞻时有一些东西要向前看.

因为您对整场比赛感兴趣,所以外部括号是不必要的.

不情愿.*?是不必要的,因为回溯四个步骤比每步检查以下条件更有效.

  • Minor pedant:这与文件名长度小于4个字符的文件不匹配. (5认同)