C#正则表达式的疑惑,关于反个"反斜杠".
正则表达式模式(Mr\.?|Mrs\.?|Miss|Ms\.?)可匹配任何“Mr”、“Mr.“、“Mrs”、“Mrs.“、“Miss”、“Ms”或“Ms.“.对Regex...
正则表达式模式 (Mr\.? |Mrs\.? |Miss |Ms\.? )
可匹配任何“Mr”、“Mr.“ 、“Mrs”、“Mrs.“ 、“Miss”、“Ms”或“Ms.“
. 对 Regex.Replace 方法的调用会将匹配的字符串替换为 String.Empty;换句话说,它从原始字符串中将其移除.
这是我在"C#编程指南"看的资料.
怎么感觉是不是搞错了...
因为
string pattern = "(Mr\.? |Mrs\.? |Miss |Ms\.? )";
编译都不通过. 展开
可匹配任何“Mr”、“Mr.“ 、“Mrs”、“Mrs.“ 、“Miss”、“Ms”或“Ms.“
. 对 Regex.Replace 方法的调用会将匹配的字符串替换为 String.Empty;换句话说,它从原始字符串中将其移除.
这是我在"C#编程指南"看的资料.
怎么感觉是不是搞错了...
因为
string pattern = "(Mr\.? |Mrs\.? |Miss |Ms\.? )";
编译都不通过. 展开
展开全部
正则表达式是这样写没错Mr\.? |Mrs\.? |Miss |Ms\.?
但c#编程中,正则表达式是作为字符串形式出现的,而c#中字符串的反斜杠有特殊意义,就是转义字符,但在 string pattern = "(Mr\.? |Mrs\.? |Miss |Ms\.? )"; 中 \. 不是一个已知的可转义的字符,所以编译不通过,这时需要使用双反斜杠 \\ 使原本的反斜杠转义成真正意义上的反斜杠
string pattern = "(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )";
或者在字符串前面加上@符号,使字符串中的反斜杠失去转义功能
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
但c#编程中,正则表达式是作为字符串形式出现的,而c#中字符串的反斜杠有特殊意义,就是转义字符,但在 string pattern = "(Mr\.? |Mrs\.? |Miss |Ms\.? )"; 中 \. 不是一个已知的可转义的字符,所以编译不通过,这时需要使用双反斜杠 \\ 使原本的反斜杠转义成真正意义上的反斜杠
string pattern = "(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )";
或者在字符串前面加上@符号,使字符串中的反斜杠失去转义功能
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
展开全部
你写的那句只是一个字符串,而“\"本身是转义字符,所以你需要把一个“\”换成两个“\\”才能表达原有的含义,你也可以在开始的位置加上“@”表示该字符串不使用转义字符:
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你得使用Regular这个类,我可能字母写错了,你知道意思就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Using System.Text.RegularExpression
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询