我有一堆需要解析的文件,它们的文件名中都有两个日期模式之一(我们正在升级我们的系统,我们需要让文件解析器能够识别这两种日期格式,新和旧的)。
文件名看起来像<fileroot>_yyyyMMdd.log
or <fileroot>_MMddyy.log
,我需要能够解析出数字来解析日期,但是,每当我尝试使用正则表达式^.*(\\d{6,8}).*$
或^.*(\\d{6}|\\d{8}).*$
解析出日期的数字时,捕获组总是 6字符长度,即使是 8 位数的文件名。
有没有办法强制 C# 中的正则表达式库在尝试匹配正则表达式时尽可能详尽?我知道如何在 Java 中做到这一点,而不是 C# / .NET,我对这门语言还很陌生。