我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.想要一个快乐的媒体....

我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.
BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.
想要一个快乐的媒体.
编辑:我正在尝试解析.gitignore文件并匹配相同的文件,就像Git一样.这意味着:
>文件应该超出存储库的索引(所以我正在检查文件的路径与存储在索引中的路径)
> .gitignore中的模式数量可能很大;
>要检查的文件数也可能很大.
解决方法:
Windows通配符的等价物?和正则表达式中的*是公正的.和.*.
[编辑]鉴于你的新编辑(说明你正在寻找实际文件),我会完全跳过翻译,让.Net使用Directory.GetFiles()进行搜索.
(请注意,由于某种原因,将?传递到Directory.GetFiles()匹配“零个或一个字符”,而在Windows中它总是匹配一个字符)
本文标题为:c# – 寻找简单但功能强大的Windows通配符(`*,?`)匹配实现


基础教程推荐
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- 实例详解C#实现http不同方法的请求 2022-12-26
- C#中的Linq to JSON操作详解 2023-06-08
- C#中 Json 序列化去掉null值的方法 2022-11-18
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- Unity shader实现高斯模糊效果 2023-01-16
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- C# 解析XML和反序列化的示例 2023-04-14
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16