0

有人知道如何像在 Windows 操作系统中那样制作带有星号字符的正则表达式研究人员吗?

示例:*.pdf -> 查找所有 pdf 文件。

我一直在尝试这个片段,但我不太确定它是否非常强大:

   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();
4

2 回答 2

0

您可以使用此正则表达式查找任何具有扩展名 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();
于 2013-04-18T09:55:02.620 回答
0

而不是使用*.pdf,尝试使用(.*)pdf。换句话说,替换*(.*)并查看它是否有效。

于 2013-04-18T10:12:14.473 回答