Regex 如何使用星号制作正则表达式研究人员
有人知道如何在windows操作系统中使用星号字符制作正则表达式研究人员吗 示例:*.pdf->查找所有pdf文件 我一直在尝试这个片段,但我不确定它是否很强大:Regex 如何使用星号制作正则表达式研究人员,regex,Regex,有人知道如何在windows操作系统中使用星号字符制作正则表达式研究人员吗 示例:*.pdf->查找所有pdf文件 我一直在尝试这个片段,但我不确定它是否很强大: FTP.FTPclient ftp = new FTP.FTPclient("ftp://myservices.com/","username", "pass"); Regex reg = new Regex(@"Hi"); string[] filesArray = ftp.Li
FTP.FTPclient ftp = new FTP.FTPclient("ftp://myservices.com/","username", "pass");
Regex reg = new Regex(@"Hi");
string[] filesArray = ftp.ListDirectory("/path/").Where(fileName => reg.IsMatch(fileName)).ToArray();
您可以使用此正则表达式查找任何扩展名为pdf的文件名
.+\.pdf$
匹配单个字符
+
是一个量词,它匹配1到多个前面的字符
您可以使用的
GetExtention
方法获取文件的扩展名
ftp.ListDirectory("/path/")
.Where(Path.GetExtension(fileName)==".pdf")
.ToArray();
如果要检查文件内容中的特定单词
ftp.ListDirectory("/path/")
.Where(File.ReadAllText(fileName).Contains(yourWord))
.ToArray();
如果要检查文件名中的特定单词
ftp.ListDirectory("/path/")
.Where(fileName.Contains(youWord))
.ToArray();
不要使用
*.pdf
,尝试使用(*)pdf
。换句话说,将*
替换为(.*)
,看看它是否有效。你是说用C#搜索文件结构,用正则表达式搜索词来查找文件吗?嗨,谢谢你的回答。但我想知道的是,我怎样才能搜索任何类型的输入字符。示例:如果我的输入是“Dog”,它将检索包含“Dog”或“Dog”的每个文件@BrunoFerreia是否要在该文件名或内容中搜索file@BrunoFerreira你不需要正则表达式..使用Contains方法的字符串..检查编辑器非常感谢。。。如何检索同时包含大写和小写字符的文件?示例:“Dog”&“Dog”@BrunoFerreira您可以使用IndexOf
字符串方法与StringComparison.CurrentCultureIgnoreCase
。因此,如果fileName.IndexOf(yourWord,StringComparison.CurrentCultureIgnoreCase)
返回-1,则找不到它!嗨,安达,我如何用输入字符串替换pdf?示例:Regex reg=new Regex(@“(*)Pdf”);-->Regex reg=new Regex(@“(*)MyInputString”);你好,布鲁诺。不创建Regex对象,只需使用静态方法Regex.IsMatch()。只需传递输入字符串和模式字符串。该方法返回一个布尔值。试试看,假设变量MyInputString是输入模式,变量MyStringToCheck是基本字符串。可以这样做:Regex.IsMatch(MyStringToCheck,“(.*”)+MyInputString,RegexOptions.IgnoreCase);嗨,路易,谢谢你的帮助。所以,我一直在尝试这个方法,在某些情况下效果很好,而在其他情况下则不行!例如:如果我在Ftp上运行这个代码段,它可以工作,但是如果我在本地文件系统上运行它,它不会响应:String[]files=Directory.GetFiles(SrcPath)。其中(fileName=>Regex.IsMatch(fileName,(.*)”+*.pdf,RegexOptions.IgnoreCase))。ToArray()我不知道为什么当它遇到一个无pdf文件时,编译器会崩溃!你好,布鲁诺。请用最新代码的副本更新问题。还请包括您收到的错误。