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

时间:2016-03-03 04:36:28

标签: c# asp.net regex

我已经google了很多,得到了多个答案,在我的情况下没有工作。此正则表达式应该使用的示例字符串是

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

Regex.Replace("正则表达式"," $ fileName")应该给这个

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

我试过的正则表达式是

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

它只匹配第一个文件名

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

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

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

2 个答案:

答案 0 :(得分:1)

试试这个

(\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`

答案 1 :(得分:1)

这也必须有效

\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