我希望能够将整个字符串(因此单词边界)与模式"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));
}
Run Code Online (Sandbox Code Playgroud)
试试这个(未测试):
Regex r = new Regex(@"\AABC\z");
Run Code Online (Sandbox Code Playgroud)
\A= 字符串开头的锚点
\z= 字符串结尾的锚点
^= 行开头的锚点
$= 行结尾的锚点