2010-11-23 9 views
5

パターン "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)); 
} 

答えて

4

これを試してみてください(テストしていません):

Regex r = new Regex(@"\AABC\z"); 

\A =アンカー文字列の先頭のため
\z =アンカー文字列の終わりのための
^ =アンカー行頭のため
$ =行末のアンカー

+0

ありがとうございました。あなたの答えの後にこれを見つけました:http://msdn.microsoft.com/en-us/library/h5181w5w(v=VS.100).aspx – blizpasta

+0

わかりやすいです。 +1 –

関連する問題