Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regexp:匹配并排除_Regex - Fatal编程技术网

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
我只想匹配那些以单词image开头但不包含单词small的图像

然后,正则表达式应返回:

  • 图像_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()列出文件。它返回空值。