我希望能够将整个字符串(因此单词边界)与模式“ABC”匹配(“ABC”仅用于方便,我不想检查与固定字符串的相等性),所以换行对我来说意义重大。但是,当放在字符串末尾时,似乎会忽略单个“\ n”。我的模式有问题吗?
Regex r = new Regex(@"^ABC$");
string[] strings =
{
"ABC",//True
"ABC\n",//True: But, I want it to say false.
"ABC\n\n",//False
"\nABC",//False
"ABC\r",//False
"ABC\r\n",//False
"ABC\n\r"//False
};
foreach(string s in strings)
{
Console.WriteLine(r.IsMatch(s));
}
答案 0 :(得分:4)
试试这个(未经测试):
Regex r = new Regex(@"\AABC\z");
\A
=字符串开头的锚点
\z
=锚点结束字符串
^
=开始行的锚点
$
=行尾的锚点