我可以知道\?
在正则表达式中的含义吗?例如,它在这个表达式中的意义是什么。
我用它来验证7位数电话号
非常感谢任何帮助。
答案 0 :(得分:2)
“\?”意思是“?”本身。 “\” - 是逃脱角色。 “?”是量词的,“\”用来逃避它。
答案 1 :(得分:2)
我用它来验证7位数电话号
"[[:number:]]\{3\}[ -]\?[[:number:]]\{4\}"
看看你的例子,似乎你在谈论 BRE ,然后\
(转义)给了?
特殊含义:one or zero[ -]
如果 ERE / PCRE ,则\
将使该特定含义远离?
,即\?
表示文字问号:{ {1}}
答案 2 :(得分:0)
正确逃脱的“?”将匹配文本中显示的确切字符“?”。 例如,如果你这样做
Regex re = new Regex(@"\d{3}-\?\d{4}");
,你将能够获得123-?1234的积极匹配。 如果您想获得1231234 OR 123-1234的正面匹配,可以使用特殊字符“?”没有逃脱,像这样:
Regex re = new Regex(@"\d{3}-?\d{4}");
P.S。对于C#.NET,我发现在线最好的正则表达式测试地点是MyRegexTester。如果您将它用于C#,请不要忘记选中相应的“C#.NET”复选框。
P.P.S。根据评论,将“\ s *”放入正则表达式将匹配任何长度的空格(包括空格和制表符),“\?”将匹配一个可选空格,“[]”将恰好匹配一个空格(不能少)。
答案 3 :(得分:0)
" \"逃避"?"在正则表达式中有特殊含义(0或1匹配)所以" \?"逃避它并识别文字"?"
你的正则表达式对我来说很奇怪,它看起来所有特殊字符都被转义(也是#34; {")并且看起来并不是我所知道的有效。 我想你想写
"\d{3}[ -]?\d{4}"
如果你想匹配尊重模式或
的东西"^\d{3}[ -]?\d{4}$"
如果你想要匹配的东西恰好是模式