C# 搜索字符串时返回null的正则表达式
我正在使用C#编写一个ASP.NET控制台应用程序,它试图通过登录并将文件写入本地驱动器来读取网站上的一些文件 我有以下正则表达式,它在文本文件中搜索一些字符串-C# 搜索字符串时返回null的正则表达式,c#,asp.net,regex,C#,Asp.net,Regex,我正在使用C#编写一个ASP.NET控制台应用程序,它试图通过登录并将文件写入本地驱动器来读取网站上的一些文件 我有以下正则表达式,它在文本文件中搜索一些字符串- var fileNames = (from Match m in Regex.Matches(pageSource, @"[0-9]+_+[A-Za-z]+_+[0-9]+-+[0-9]+-+[0-9]+(_+[0-9]+)?\.+(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)")
var fileNames = (from Match m in Regex.Matches(pageSource, @"[0-9]+_+[A-Za-z]+_+[0-9]+-+[0-9]+-+[0-9]+(_+[0-9]+)?\.+(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)")
select new { m.Value }).ToList();
这段代码与执行相同任务的web应用程序完美配合。但是当我在控制台应用程序中使用它时,filenames.count
为0
当这段代码还在我的web应用程序中运行时,可能会出现什么问题
提前感谢:)
这对我有用
我搬走了
选择新的{m.Value}).ToList()
感谢您的回复和帮助:)看起来您在点之后和扩展之前有额外的空间:
\。+(附件.
。哦,写问题时出现了一个错误。更正了您可能应该发布一些示例-您希望匹配的值是什么。还要检查您的pageSource
是否正确初始化并且与web应用程序中的值相同。换句话说,您从{m.value}中删除了大括号
。你应该在回答中提到这一点;我花了很长时间才发现区别。
var fileNames = (from Match m in Regex.Matches(pageSource, @"[0-9]+_+[A-Za-z]+_+[0-9]+-+[0-9]+-+[0-9]+(_+[0-9]+)?\.+(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)") select m.Value).ToList();