使用正则表达式返回具有特定命名约定的文件夹

c#

我有点难以理解形成正则表达式方法的语法。基本上我调用下面的方法来搜索上层目录,然后我使用正则表达式来防止选择任何命名约定不正确的文件夹。

List<string> folders = Directory.GetDirectories(upperDirectory, "*", SearchOption.TopDirectoryOnly).Where(f => Regex.IsMatch(f, @"[D[0-9][0-9][0-9][0-9]]")).ToList();

所有文件夹的命名约定必须是...

[D####] - Description of folder content

因此文件夹必须以一个方括号开头,后跟 D,然后是 4 个数字,然后是一个右括号。此后的任何内容都可以忽略。成功完成此操作的正确正则表达式语法是什么?

回答

这应该工作

^[Dd{4}]

解释:

^ 在行首断言位置 - 这意味着文件夹的名称以:

[[字面上匹配字符

DD字面上匹配字符(在这种情况下区分大小写)

d 匹配一个数字(相当于 [0-9])

{4} 匹配前一个令牌(在这种情况下是数字)正好 4 次

]]字面上匹配字符


以上是使用正则表达式返回具有特定命名约定的文件夹的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>