在 C# 中使用正则表达式列出只有 txt 文件的目录
Posted
技术标签:
【中文标题】在 C# 中使用正则表达式列出只有 txt 文件的目录【英文标题】:list directories which has only txt files using regex in C# 【发布时间】:2018-01-22 00:42:55 【问题描述】:我有这个正则表达式
"\\\"([^\"]*)\\\""
返回所有目录。 但我只想要有 xyz.xml 文件的目录
请任何人帮助我。
string url = //some url
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = new NetworkCredential(username, password);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
string html = reader.ReadToEnd();
Regex regex = new Regex("\\\"([^\"]*)\\\"");
// Regex regex = new Regex("\\\"(xml)");
MatchCollection matches = regex.Matches(html);
if (matches.Count > 0)
foreach (Match match in matches)
if (match.Success)
//further code
【问题讨论】:
澄清:您只想要所有包含 xml 文件的目录? 一定要使用regex
吗? Linq 解决方案似乎更容易。
你能贴出你使用这个正则表达式的代码吗?我认为这里真的不需要正则表达式
我想列出一个 http url 中的所有目录,其中包含 xyz.xml 文件
请在否决问题前要求澄清。我正处于学习的早期阶段。
【参考方案1】:
只需输入 new Regex("\"([^\"]+\\.xml)\"")
即可返回所有以 .xml 结尾的文件。
【讨论】:
非常感谢先生。它对我来说效果很好。但是还有一个问题。我试图递归遍历所有目录,但我的代码没有这样做。因此它无法在子目录中找到 xyz.xml 文件。请帮帮我。谢谢 那是另一个问题的主题。请关闭它并打开一个新的。以上是关于在 C# 中使用正则表达式列出只有 txt 文件的目录的主要内容,如果未能解决你的问题,请参考以下文章