正则表达式0/d{2}-/d{8}和0/d{3}-/d{7}分别匹配区号为3位和4位的固定电话号码,如果需要同时匹配区号为3位和4位的固定电话号码时,使用替换可以满足这一个需求。最简单的替换使用字符“|”表示,它表示如果某一个字符串匹配了正则表达式中的字符“|”的左边或者右边的规则,那么该字符串也匹配了该正则表达式。
以下正则表达式匹配了当前国内部分地区的两种固定电话号码:一种是号码的前4位为区号,后7位为本地号码;另一种是号码的前3位为区号,后8位为本地号码。其中,区号和本地号码都使用连接符号“-”进行连接。
0/d{2}-/d{8}|0/d{3}-/d{7} (56)
以下正则表达式匹配了当前国内部分地区的3种固定电话号码:一种是号码的前4位为区号,后7位为本地号码;另一种是号码的前3位为区号,后8位为本地号码;最后一种是号码的前4位为区号,后8位为本地号码。其中,区号和本地号码都使用连接符号“-”进行连接。
0/d{2}-/d{8}|0/d{3}-/d{7}|0/d{3}-/d{8} (57)
以下正则表达式匹配当前国内部分地区的区号为4位的固定电话号码。其中,区号和本地号码可以使用连接符号“-”进行连接,也可以不使用连接“-”符号。
0/d{3}-/d{7}|0/d{3}[-]?/d{7} (58)
使用工具Regex Tester测试正则表达式(58),测试结果如图所示。其中,电话号码0731-1234567和07311234567都均被匹配。