【发布时间】:2009-11-17 21:35:23
【问题描述】:
我有一堆需要解析的文件,它们的文件名中都有两个日期模式之一(我们正在升级我们的系统,我们需要让文件解析器能够识别这两个日期格式,新旧)。
文件名看起来像<fileroot>_yyyyMMdd.log 或<fileroot>_MMddyy.log,我需要能够解析出数字来解析日期,但是,每当我尝试使用像^.*(\\d{6,8}).*$ 或^.*(\\d{6}|\\d{8}).*$ 这样的正则表达式时为了解析出日期的数字,捕获组的长度始终为 6 个字符,即使对于 8 位的文件名也是如此。
有什么方法可以强制 C# 中的正则表达式库在尝试匹配正则表达式时尽可能详尽?我知道如何在 Java 中做到这一点,而不是 C# / .NET,我对这门语言还很陌生。
【问题讨论】:
标签: c# regex regex-greedy