在下面的代码中,为什么模式与正则表达式不匹配,但如果我使用正则表达式逐行读取 12sep.txt 文件,它可以正常工作?
string file = @"C:\Documents and Settings\Sandeep.kumar\Desktop\12sep.txt";
string filedta = File.ReadAllText(file);
string pattern = @"^[^\s]+.[^\s]txt$";
Regex rx = new Regex(pattern, RegexOptions.None);
MatchCollection mc = rx.Matches(filedta);
请您参考如下方法:
当输入字符串是单行或多行时,正则表达式特殊字符“^”和“$”的含义不同。 在单行中,它们表示“字符串开始”和“字符串结束”。 在多行中,它们表示“行开始”和“行结束”。
您在 RegexOptions 中有一个选项可以控制它:RegexOptions.Multiline
文档清楚地说明了它的作用: “多行模式。更改 ^ 和 $ 的含义,使它们分别匹配任何行的开头和结尾,而不仅仅是整个字符串的开头和结尾。”
来自 http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regexoptions.aspx
