C# 文件匹配模式如何使用星号精确工作?
我有以下文件:C# 文件匹配模式如何使用星号精确工作?,c#,file,pattern-matching,matching,C#,File,Pattern Matching,Matching,我有以下文件: C:\files\file1.dll C:\files\file2.dll C:\files\sample\sample1.dll c:\files\sample\sample2.dll c:\files\book\book1.dll c:\files\book\book2.dll c:\files\book\comic\comic1.dll c:\files\book\comic\comic2.dll 模式1是*\*.dll,模式2是*\comic\*.dll,模式3是boo
C:\files\file1.dll
C:\files\file2.dll
C:\files\sample\sample1.dll
c:\files\sample\sample2.dll
c:\files\book\book1.dll
c:\files\book\book2.dll
c:\files\book\comic\comic1.dll
c:\files\book\comic\comic2.dll
模式1是
*\*.dll
,模式2是*\comic\*.dll
,模式3是book\*\*.dll
。哪些文件应该匹配pattern1
,pattern2
和pattern3
,第一个模式应该匹配通配符匹配中的所有内容。你基本上是在说
包含\
并以.dll
第二个应该和最后两个相匹配
包含\comic\
并以.dll
最后一个应该不匹配
以book\
包含\
开头,以.dll
结尾
当然,这是用于这里描述的模式匹配,而不是正则表达式
在glob
世界中,并不完全是这样:
**匹配任何字符,包括正斜杠/
*匹配除正斜杠以外的任何字符(仅匹配文件或目录名)
所以这样想吧。第一个图案将仅与第一个和第二个图案匹配。通过使用您所说的双**,我还关心子目录
非常好的解释和更多的例子:对不起,模式1是*\*.dll,模式3是book\*\*.dllThanks,用于快速回复,但我认为是*表示指定源文件夹中的所有文件。**是指指定源文件夹中的所有文件以及根据的所有子文件夹中的所有文件。所以,通过使用azure copy任务,pattern1是否匹配-file1.dll、file2.dll、sample1.dll、sample2.dll、book1.dll和book2.dll?模式3匹配-book1.dll、book2.dll、comic1.dll、comic2.dll,以便尝试使用匹配。好的,现在我知道你想要达到的目标了,我可能会帮助你更多。谢谢,理解一点。但是C:\files\*\*.dll模式如何处理上述文件呢?它应该返回第2、第3、第4和第5行。不是第一个或最后两个.Super和最后一个疑问-c:\files\***\.dll模式匹配所有文件,但为什么c:\files\***.dll模式不匹配1到6行,而只匹配3到6行