正则表达式:匹配从字符串分开的一组文件名
我搜索了很多,得到了多个答案没有在我的情况下工作。样品字符串这个表达式应该从事的是正则表达式:匹配从字符串分开的一组文件名
"Purging file summary_t.dat after pre_summary.csv, data.dat clogged"
Regex.Replace( “正则表达式”, “$文件名”)应该给这个
"Purging file $fileName after $fileName, $fileName clogged"
正则表达式的我已经试过是
^[\w,\s-]+\.[A-Za-z]{3}$
它只匹配第一个文件名
(?:[^\\:]+\\)*((?:[^:\\]+)\.\w+)
这一个相匹配的一切,包括在多个文件名之间的文本,所以我只得到一个$文件名整条生产线
注:该字符串是通用的,所以我真的不知道我在哪里可以在一个字符串中获得一个文件名
试试这个
(\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
▲删除[],我的坏习惯 –
但这是一个很好的习惯与复杂的正则表达式 –
谢谢,它的工作原理。 –