需要RegEx模式字符串来提取文本的一部分

时间:2014-07-21 20:42:38

标签: c# .net regex

我有以下字符串:

testing_[Date{yyyyMMdd}]_[Increment{##}].csv

我需要匹配,以便我可以替换以下内容:

[Date{yyyyMMdd}]

我还需要括号内的字符串(yyyyMMdd)作为一个组来引用格式化替换字符串

我尝试了以下模式,但它匹配字符串的更大部分:

(\[Date\{(?<format>.*)\}\])

当使用这种模式时,这就是匹配的:

[Date{yyyyMMdd}]_[Increment{##}]

我如何才能与以下内容匹配:

[Date{yyyyMMdd}]

1 个答案:

答案 0 :(得分:1)

使用非贪婪量词(.*?):

(\[Date\{(?<format>.*?)\}\])

或字符类:

(\[Date\{(?<format>[^}]*)\}\])

但是,我建议您只指定要允许的字符,如下所示:

(\[Date\{(?<format>[yYMdDhHms ]*)\}\])