Regex 我的正则表达式不起作用了
我有一个excel文件,必须有这种名称格式,其中xxx是一个数字,Curr是欧元或英镑,yymmdd是一个日期Regex 我的正则表达式不起作用了,regex,Regex,我有一个excel文件,必须有这种名称格式,其中xxx是一个数字,Curr是欧元或英镑,yymmdd是一个日期 CDFSDDRCxxxCurryymmdd.xls(x) 这是我用的正则表达式。它不适用于120920或121005这样的日期。 有什么想法吗 Match nameIsValid = Regex.Match(activeWorkbook.Name, @"CDFSDDRC(?<xxx>\d+)(?&
CDFSDDRCxxxCurryymmdd.xls(x)
这是我用的正则表达式。它不适用于120920或121005这样的日期。
有什么想法吗
Match nameIsValid = Regex.Match(activeWorkbook.Name,
@"CDFSDDRC(?<xxx>\d+)(?<curr>EUR|GBP)(?<yymmdd>\d{2}(?:0[1-9]|1[12])(?:(?:0|1|2)[1-9]|3[0-2]))\.xls?");
Match nameIsValid=Regex.Match(activeWorkbook.Name,
@“CDFSDDRC(?\d+)(?\d{2}(?:0[1-9]| 1[12])(?:(?:0 | 1 | 2[1-9]| 3[0-2])\.xls?”;
这比您所拥有的要简单一些
"CDFSDDRC(\d+)(EUR|GBP)(\d{2})(\d{2})(\d{2}).xls"
此正则表达式的快速修复方法如下:
CDFSDDRC(?<xxx>\d+)(?<curr>EUR|GBP)(?<yymmdd>\d{2}(?:0[1-9]|1[012])(?:(?:0|1|2)[0-9]|3[0-2]))\.xls?
匹配后,可以通过编程方式检查它是否为有效日期
CDFSDDRC(?<xxx>\d+)(?<curr>EUR|GBP)(?<yymmdd>\d{6})\.xls?