正则表达式问题(C#.NET Framework 4.0)

时间:2013-06-13 14:35:51

标签: .net regex

我想答案应该很明显,但我不明白

Regex reg = new Regex("a\r\n", RegexOptions.Singleline | RegexOptions.CultureInvariant);
Console.WriteLine(reg.IsMatch(".*a.*")); // writes FALSE

为什么这写错? 我认为SingleLine允许点匹配任何东西,无论是\ r,\ n,\ r \ n,\ n \ r或其他什么?

1 个答案:

答案 0 :(得分:3)

你是倒退的,你想把模式放在Regex的构造函数中,而不是你想要匹配的。试试这个:

Regex reg = new Regex(".*a.*", RegexOptions.Singleline | RegexOptions.CultureInvariant);
Console.WriteLine(reg.IsMatch("a\r\n")); // writes TRUE