Regexp:匹配并排除
在此列表中:Regexp:匹配并排除,regex,Regex,在此列表中: 图像_1.png image_1_small.png 图像2.png image_2_small.png image_three.png image\u three\u small.png antoher_image.png 我只想匹配那些以单词image开头但不包含单词small的图像 然后,正则表达式应返回: 图像_1.png 图像2.png image_three.png 到目前为止,我已经: /^image(?!.*small)/m 我用列表中的一行测试了这个
- 图像_1.png
- image_1_small.png
- 图像2.png
- image_2_small.png
- image_three.png
- image\u three\u small.png
- antoher_image.png
- 图像_1.png
- 图像2.png
- image_three.png
/^image(?!.*small)/m
我用列表中的一行测试了这个
^image(?!.*_small.*).*\.png$
关于如何排除正则表达式中的关键字,请参见此部分。我用列表中的一行代码对此进行了测试
^image(?!.*_small.*).*\.png$
有关如何排除正则表达式中的关键字的信息,请参见本节?有什么问题吗?你的正则表达式有效。我对它做了一点修改,这样你就可以获取整个文件名:@HamZa我注意到你一直在使用
(?!*small)
,为什么在small之前使用*
?。(?!small)
还不够吗?@Sniffer(?!small)
只会阻止“imagesmall”匹配。它仍然会匹配“image\u 1\u small”。@Robit:我正在使用cakephp文件夹api()列出文件。它返回空值。哪种语言?有什么问题吗?你的正则表达式有效。我对它做了一点修改,这样你就可以获取整个文件名:@HamZa我注意到你一直在使用(?!*small)
,为什么在small之前使用*
?。(?!small)
还不够吗?@Sniffer(?!small)
只会阻止“imagesmall”匹配。它仍然会匹配“image\u 1\u small”。@Robit:我正在使用cakephp文件夹api()列出文件。它返回空值。