在电话号码验证的综合正则表达式中,接受的答案有许多评论。@jcmcbeth 的其中一条评论建议使用以下简单的正则表达式来获取用户提交的电话号码的数字:
string.replace("[^\d+!x]", "")
在使用这个建议的正则表达式的评论之后,另一个提问者立即提出why the !x part?
,然后在下一条评论中回答:The !x is there to keep any "x" character from getting stripped
。
这对我来说很有意义,除了感叹号!
。查看正则表达式中字符类的文档,我没有看到感叹号是一个特殊字符,而且在我看来,它x
前面不需要一个特殊字符。此外,从链接问题的讨论中,我没有看到任何评论表明感叹号可能是电话号码的一部分(这将解释它包含在否定字符类中)。
有人可以向我解释为什么会出现感叹号吗?谢谢。