我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.想要一个快乐的媒体....
我正在寻找简单而强大的方法来实现Windows风格的*和?字符串中匹配的通配符.
BeginsWith(),EndsWith()过于简单,无法覆盖所有情况,而将通配符表达式转换为正则表达式看起来很复杂,我不确定性能.
想要一个快乐的媒体.
编辑:我正在尝试解析.gitignore文件并匹配相同的文件,就像Git一样.这意味着:
>文件应该超出存储库的索引(所以我正在检查文件的路径与存储在索引中的路径)
> .gitignore中的模式数量可能很大;
>要检查的文件数也可能很大.
解决方法:
Windows通配符的等价物?和正则表达式中的*是公正的.和.*.
[编辑]鉴于你的新编辑(说明你正在寻找实际文件),我会完全跳过翻译,让.Net使用Directory.GetFiles()进行搜索.
(请注意,由于某种原因,将?传递到Directory.GetFiles()匹配“零个或一个字符”,而在Windows中它总是匹配一个字符)
本文标题为:c# – 寻找简单但功能强大的Windows通配符(`*,?`)匹配实现
基础教程推荐
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- unity实现动态排行榜 2023-04-27
- C# windows语音识别与朗读实例 2023-04-27
- C#类和结构详解 2023-05-30
- winform把Office转成PDF文件 2023-06-14
- ZooKeeper的安装及部署教程 2023-01-22
- C# List实现行转列的通用方案 2022-11-02
- 一个读写csv文件的C#类 2022-11-06
- C# 调用WebService的方法 2023-03-09
- C#控制台实现飞行棋小游戏 2023-04-22