這是來自MS的一個例子。我不明白爲什麼在先生\?等等。在C#中有2個轉義字符,在正則表達式測試器中,只能編寫Mr。?,所以它必須是C#特有的。C#正則表達式爲什麼2 \在下面的例子中需要?
public static void Main()
{
string pattern = "(Mr\\.? |Mrs\\.? |Miss |Ms\\.?)";
string[] names = { "Mr. Henry Hunt", "Ms. Sara Samuels",
"Abraham Adams", "Ms. Nicole Norris" };
foreach (string name in names)
Console.WriteLine(Regex.Replace(name, pattern, String.Empty));
}
點是一個特殊的字符在正則表達式,它必須scaped,因爲這是反斜槓.. –
我已經粘貼了代碼,但重要的部分是錯誤的,它應該閱讀Mr \\。| | Mrs \\。?| | –
有點整潔並保存你的斜槓[{1} M] [{ 1} r,s,i] [{1} s,。] [s]?[。]?http://regexr.com/ – DaImTo