我已经尝试过了,但我根本无法在PHP中将我的头围绕正则表达式。我需要一个正则表达式执行以下操作:PHP的正则表达式忽略以双__underscore开头的文件
- 忽略以双__underscore开头的文件。 (例如__file.jpg)
- 忽略以“thumb”结尾的文件。 (例如somethumb.jpg或thumb.jpg)
- 忽略所有的文件类型,但GIF | JPG | PNG | JPEG
我见现在以下,这似乎符合#2,#3 ,但不是#1:
preg_match(/(?<!thumb)\.(gif|jpg|png|jpeg)$/i, $file)
任何帮助非常感谢!
或'^(?!__ |。* thumb \。)(?=。* \。(?: gif | jpg | png | jpeg)$)。*' –
@WiktorStribiżewand you come up with an高效的解决方案..我刚刚接近 – rock321987
它基本上是一样的。只需避免在泛型子模式之前锚定未来的不必要的回溯。 –