文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
10.3 匹配北美电话号码
还记得第1章中匹配北美电话号码的例子吗?跟那时相比,你已经有了很明显的提高。
下面是一个更为可靠的匹配电话号码的正则表达式。这个正则表达式是由Goyvaerts 和 Levithan合著的Regular Expressions Cookbook,First Edition 一书第235页的例子改编而来。
^\(?(?:\d{3})\)?[-.]?(?:\d{3})[-.]?(?:\d{4})$
请用手头的工具试一下这个表达式(图10-2显示的是在Reggy中输入该表达式的情况)。现在你应该能轻而易举地分析清楚这个表达式了。真为你骄傲!不过,还是让我们一块再分析一次吧。
· ^是判定一行或者主题词开头的零宽度断言。
· \(?是一个字面左括号,但它是可选的(?)。
· (?:\d{3})是一个匹配连续三位数字的非捕获分组。
· \)?是可选的右括号。
· [-.]?允许有可选的连字符或者句点(点号)。
· (?:\d{3})是另一个匹配连续三位数字的非捕获分组。
· [-.]?再次允许有可选的连字符或者句号(点号)。
· (?:\d{4})是匹配连续四位数字的非捕获分组。
· $匹配一行或主题词的结尾。
这个表达式还可以再改进,这项任务就留给你了,因为你已经可以自己做了。
图10-2 在Reggy中匹配电话号码的正则表达式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论