如何匹配字符串,忽略结束换行符?

bli*_*sta 5 .net c# regex

我希望能够将整个字符串(因此单词边界)与模式"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)

Dea*_*lor 4

试试这个(未测试):

Regex r = new Regex(@"\AABC\z");
Run Code Online (Sandbox Code Playgroud)

\A= 字符串开头的锚点
\z= 字符串结尾的锚点
^= 行开头的锚点
$= 行结尾的锚点