C# 文件名的正则表达式(如果已知扩展名)

C# 文件名的正则表达式(如果已知扩展名),c#,regex,notepad++,C#,Regex,Notepad++,我已经想出了一个正则表达式来为我找到一个项目中的所有图像 (\/|\\)(.*)\.(gif|png|jpg|jpeg) 我现在要做的是找到扩展名(gif | jpg |等),然后捕获匹配前的单词(即文件名) 我完全被困在了如何组织一个追踪捕获小组(??) 我正在做的是浏览一个大型web项目,查找代码中实际使用的所有图像,然后我将清理图像目录中不再引用的图像。使用Npp,您可以搜索: ([^\/\\]+)(?=\.(gif|png|jpg|jpeg)) 或 以匹配文件名 根据评论,您可以通过

我已经想出了一个正则表达式来为我找到一个项目中的所有图像

(\/|\\)(.*)\.(gif|png|jpg|jpeg)
我现在要做的是找到扩展名(gif | jpg |等),然后捕获匹配前的单词(即文件名)

我完全被困在了如何组织一个追踪捕获小组(??)


我正在做的是浏览一个大型web项目,查找代码中实际使用的所有图像,然后我将清理图像目录中不再引用的图像。

使用Npp,您可以搜索:

([^\/\\]+)(?=\.(gif|png|jpg|jpeg))

以匹配文件名

根据评论,您可以通过以下方式进行查找/替换:

  • Ctrl+H
  • 查找内容:
    ^.*([^\/\]+\.(?:gif | png | jpe?g)).*?$
  • 替换为:
    $1
  • 全部替换

这将删除一行中除文件名+扩展名以外的所有内容。

文件名在组2中。你用的是什么语言?c#和记事本++这真的很有用。下一步我要做的是在NPP中查找/替换,并基本上清空除$1.$2之外的所有字符,这样我就只剩下那一行的filename.ext了。
([^\/\\]+)(?=\.(?:gif|png|jpe?g))