0

我是否在这里以正确的方式使用正则表达式来过滤掉图像文件名和文件类型?

^(\w)+\.(jpg|png|gif)$

练习的链接在这里: http ://regexone.com/example/4 ?

练习是从文件列表中捕获名称和扩展名:

task           text                  capture
skip text      .bash_profile        
skip text      workspace.doc        
capture text   img0912.jpg          img0912, jpg    
capture text   updated_img0912.png  updated_img0912, png    
skip text      documentation.html       
capture text   favicon.gif          favicon, gif    
skip text      img0912.jpg.tmp      
skip text      access.lock
4

1 回答 1

1

你只有一个错误:

您仅使用 . 捕获文件名的最后一个字符(\w)+。这称为“重复捕获组”,这不是您想要的。将量词放在组内以捕获完整名称。

    (\w+)

一些笔记

  1. 不一定需要起始锚“^”,这取决于您要查找的内容。对于那个例子,它没有任何区别。

  2. \w适用于您的示例,但不会捕获所有有效文件名,因为它仅包含字母、数字和下划线。

于 2012-09-28T05:28:56.193 回答