正则表达式模式为有效的文件名

时间:2015-11-04 13:32:52

标签: c# regex

我有一个文件名列表,其名称如下:

ADB_FULL_REQ_XXXXXXXXXXXX_151004_01.dat 

其中:

ADB_FULL_REQ_是常数

XXXXXXXXXXXX是计算机的Mac地址

151004代表yyMMdd格式

的日期

01为2位数,最大值为 99

我必须在包含这些文件的diretory中执行搜索,并检查它们中的任何文件是否无效/有效。

我已尝试使用此模式使用RegEX但Match.Success始终返回false:

Match match = Regex.Match(filename, @"^ADB_FULL_REQ_XXXXXXXXXXXX_(d\{6})_(d\{2}).dat")

请告诉我,我在这里做错了什么?谢谢!

2 个答案:

答案 0 :(得分:2)

错误并不大:

^ADB_FULL_REQ_[a-fA-F0-9]{12}_(\d{6})_(\d{2}).dat

您使用d\代替\d。更改它,这将正常工作(我已添加检查MAC地址)。

答案 1 :(得分:2)

您错过了检查MAC地址:

^ADB_FULL_REQ_[\dA-F]{12}_(\d{6})_(\d{2}).dat$