Как сопоставить строку, игнорируя завершающуюся новую строку?

Я хочу иметь возможность сопоставить всю строку (отсюда и границы слова) с шаблоном «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));
}
5
задан blizpasta 23 November 2010 в 03:04
поделиться