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