正则表达式:将一组文件名与字符串分开匹配

本文关键字:字符串 文件名 一组 正则表达式 | 更新日期: 2023-09-27 18:37:11

我用谷歌搜索了很多,得到了多个答案,在我的情况下都不起作用。此正则表达式应处理的示例字符串是

"Purging file summary_t.dat after pre_summary.csv, data.dat clogged"

Regex.Replace("regex", "$fileName") 应该给出这个

"Purging file $fileName after $fileName, $fileName clogged"

我尝试过的正则表达式是

^['w,'s-]+'.[A-Za-z]{3}$

它只匹配第一个文件名

(?:[^'':]+'')*((?:[^:'']+)'.'w+)

这个匹配所有内容,包括多个文件名之间的文本,因此我只得到整行的一个$filename

注意:字符串是通用的,所以我真的不知道在哪里可以获得字符串中的文件名

正则表达式:将一组文件名与字符串分开匹配

试试这个

('w+'.'w+)

https://regex101.com/r/wK3cK7/1

输出:

MATCH 1
1.  [13-26] `summary_t.dat`
MATCH 2
1.  [33-48] `pre_summary.csv`
MATCH 3
1.  [50-58] `data.dat`

这也必须有效

'w+'.'w+

'w = Any letter, + = one or more, '. = followed by a dot (escape the . meaning, else only . means 0 or more)这是演示的链接。http://regexr.com/3cu60