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\.? )";
编译都不通过.
展开
 我来答
秦爱传c5
2013-06-08 · TA获得超过2052个赞
知道小有建树答主
回答量:635
采纳率:50%
帮助的人:317万
展开全部
正则表达式是这样写没错Mr\.? |Mrs\.? |Miss |Ms\.?

但c#编程中,正则表达式是作为字符串形式出现的,而c#中字符串的反斜杠有特殊意义,就是转义字符,但在 string pattern = "(Mr\.? |Mrs\.? |Miss |Ms\.? )"; 中 \. 不是一个已知的可转义的字符,所以编译不通过,这时需要使用双反斜杠 \\ 使原本的反斜杠转义成真正意义上的反斜杠
string pattern = "(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )";
或者在字符串前面加上@符号,使字符串中的反斜杠失去转义功能
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
lzh3452
2013-06-08 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:859万
展开全部
你写的那句只是一个字符串,而“\"本身是转义字符,所以你需要把一个“\”换成两个“\\”才能表达原有的含义,你也可以在开始的位置加上“@”表示该字符串不使用转义字符:
string pattern = @"(Mr\.? |Mrs\.? |Miss |Ms\.? )";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
airroom110
2013-06-08 · TA获得超过219个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:115万
展开全部
你得使用Regular这个类,我可能字母写错了,你知道意思就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08f6db01a
2013-06-08 · TA获得超过257个赞
知道小有建树答主
回答量:345
采纳率:50%
帮助的人:110万
展开全部
Using System.Text.RegularExpression
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式