应用正则表达式 .*/(?<X>.*?(?<Rev>\#rev#.*?))\$(?<YM>\d{6})\.
到以下字符串
/ABC$201808.csv /ABC#Rev#123$201808.csv
只匹配并捕获第二个字符串
/ABC#Rev#123$201808. has 3 groups: ABC#Rev#123 (X) #Rev#123 (Rev) 201808 (YM)
对于/ABC$201808.csv
的第一个字符串,我想捕获以下值( Rev
应该得到空字符串)。
ABC(X) (Rev) 201808 (YM)
这可能吗?
最佳答案
您缺少一个 ?
在 <Rev>
之后的正则表达式中分组。应该是.*/(?<X>.*?(?<Rev>\#rev#.*?)?)\$(?<YM>\d{6})\.
为了匹配两个字符串。
关于c# - 如果捕获组不存在,返回空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52337511/