我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.想要一个快乐的媒体....
我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.
BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.
想要一个快乐的媒体.
编辑:我正在尝试解析.gitignore文件并匹配相同的文件,就像Git一样.这意味着:
>文件应该超出存储库的索引(所以我正在检查文件的路径与存储在索引中的路径)
> .gitignore中的模式数量可能很大;
>要检查的文件数也可能很大.
解决方法:
Windows通配符的等价物?和正则表达式中的*是公正的.和.*.
[编辑]鉴于你的新编辑(说明你正在寻找实际文件),我会完全跳过翻译,让.Net使用Directory.GetFiles()进行搜索.
(请注意,由于某种原因,将?传递到Directory.GetFiles()匹配“零个或一个字符”,而在Windows中它总是匹配一个字符)
本文标题为:c# – 寻找简单但功能强大的Windows通配符(`*,?`)匹配实现
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- .NET CORE DI 依赖注入 2023-09-27
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- user32.dll 函数说明小结 2022-12-26
- Unity Shader实现模糊效果 2023-04-27
- Unity3D实现渐变颜色效果 2023-01-16
- c# 模拟线性回归的示例 2023-03-14
- 如何使用C# 捕获进程输出 2023-03-10
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Oracle中for循环的使用方法 2023-07-04
- WPF使用DrawingContext实现绘制刻度条 2023-07-04