C# 正则表达式:分别与字符串匹配一组文件名
我在谷歌上搜索了很多,得到了很多答案,但在我的案例中没有一个有效。这个正则表达式应该使用的示例字符串是C# 正则表达式:分别与字符串匹配一组文件名,c#,asp.net,regex,C#,Asp.net,Regex,我在谷歌上搜索了很多,得到了很多答案,但在我的案例中没有一个有效。这个正则表达式应该使用的示例字符串是 "Purging file summary_t.dat after pre_summary.csv, data.dat clogged" Replace(“Regex”,“$fileName”)应该给出 "Purging file $fileName after $fileName, $fileName clogged" 我试过的正则表达式是 ^[\w,\s-]+\.[A-Za-z]{3}
"Purging file summary_t.dat after pre_summary.csv, data.dat clogged"
Replace(“Regex”,“$fileName”)应该给出
"Purging file $fileName after $fileName, $fileName clogged"
我试过的正则表达式是
^[\w,\s-]+\.[A-Za-z]{3}$
它只匹配第一个文件名
(?:[^\\:]+\\)*((?:[^:\\]+)\.\w+)
这一个匹配所有内容,包括多个文件名之间的文本,因此整行只能得到一个$filename
注意:字符串是通用的,所以我不知道从哪里可以获得字符串中的文件名
(\w+\.\w+)
输出:
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=任意字母,+=一个或多个,\.=后跟一个点(转义。仅限else。表示0或更多)
这里是演示的链接▲ 为了改掉我的坏习惯