C# 包含特定单词的正则表达式

C# 包含特定单词的正则表达式,c#,regex,C#,Regex,我需要从同一个目录加载文件,例如:“Client\u Test\u delete.xlsx”。但是加载所有 扩展名为_delete.xlsx的文件。如何创建有效的测试掩码 var testMask = @"^[Client]+(.*_delete.xlsx*).*$"; var searchPattern = new Regex(testMask, RegexOptions.IgnoreCase); var files = Directory.GetFiles(fullPath).Where(f

我需要从同一个目录加载文件,例如:“Client\u Test\u delete.xlsx”。但是加载所有 扩展名为_delete.xlsx的文件。如何创建有效的测试掩码

var testMask = @"^[Client]+(.*_delete.xlsx*).*$";
var searchPattern = new Regex(testMask, RegexOptions.IgnoreCase);
var files = Directory.GetFiles(fullPath).Where(f => searchPattern.IsMatch(f));
目录中的文件:

c:\Client_Test_delete.xlsx"
c:\Some_Test_delete.xlsx"

System.IO.Directory.GetFiles具有具有搜索模式的重载,请尝试此操作。它更简单。 [我不知道正则表达式]


System.IO.Directory.GetFiles具有具有搜索模式的重载,请尝试此操作。它更简单。 [我不知道正则表达式]

尝试使用此正则表达式:

^(?:[\w]\:)+\*(客户端)。*?\uu.*\u delete.xlsx

我用客户机部分更新表达式

它匹配:“c:\Client\u Test\u delete.xlsx”
并以“c:\Some\u Test\u delete.xlsx”失败

尝试使用此正则表达式:

^(?:[\w]\:)+\*(客户端)。*?\uu.*\u delete.xlsx

我用客户机部分更新表达式

它匹配:“c:\Client\u Test\u delete.xlsx”
并以“c:\Some\u Test\u delete.xlsx”失败

您可以这样尝试:

var testMask = @"^Client_[a-z\d]+_delete.xlsx?$";   // OR "^Client_[^_]+_delete.xlsx?$"
var searchPattern = new Regex(testMask, RegexOptions.IgnoreCase);
var files = Directory.GetFiles(fullPath).Where(f => searchPattern.IsMatch(f));
这将匹配扩展名为
.xlsx
.xls
的文件,以及第一个单词
客户端
和最后一个单词
删除

希望它能给你一个继续前进的想法。

你可以这样尝试:

var testMask = @"^Client_[a-z\d]+_delete.xlsx?$";   // OR "^Client_[^_]+_delete.xlsx?$"
var searchPattern = new Regex(testMask, RegexOptions.IgnoreCase);
var files = Directory.GetFiles(fullPath).Where(f => searchPattern.IsMatch(f));
这将匹配扩展名为
.xlsx
.xls
的文件,以及第一个单词
客户端
和最后一个单词
删除


希望它能给你一个继续学习的想法。

试着学习正则表达式。它们一点也不复杂。一个重要的提示:你的随机尝试永远不会成功。试着学习正则表达式。它们一点也不复杂。一个重要的提示:你的随机尝试永远都不会成功。在这种情况下,不需要正则表达式。在这里添加英文链接:的确如此。在这种情况下,不需要正则表达式。在这里添加英文链接:我需要第一个单词“Client”我需要第一个单词“Client”更新,所以它包括“Client”更新,所以它包括“Client”一词