为什么[。\ r \ n] *正则表达式不匹配?

时间:2013-11-16 14:21:26

标签: c# .net regex

.*

的缩写
[^\r\n]*

所以,如果我们将这些结合起来

[.\r\n]*

为什么我们不能获得匹配世界上每个字符串的正则表达式?

1 个答案:

答案 0 :(得分:7)

与正则表达式中的大多数其他特殊字符一样,当.出现带有字符类时,它表示文字.字符。如果你想匹配所有字符,常见的技巧是使用这样的东西:

[\s\S]*

或者您可以使用RegexOptions.Singleline指定.应匹配所有字符,只需使用:

.*

例如:

var input = "foo\r\nbar";
var match = Regex.Match(input, ".*", RegexOptions.Singleline);
Assert.AreEqual(input, match.Value);