正则表达式:将一组文件名与字符串分开匹配
本文关键字:字符串 文件名 一组 正则表达式 | 更新日期: 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