Python 正则表达式实现手机号码格式匹配
要在 Python 中使用正则表达式实现手机号码格式匹配,可以使用 re 模块。下面是一个示例代码,可以匹配以 13、15、18、17、16 开头的 11 位手机号码:
import re phone_pattern = re.compile(r'^1[35678]\d{9}$') phone_numbers = ['13888888888', '15012345678', '18011112222', '17099998888', '16666666666', '12345678901', 'pidancode.com'] for number in phone_numbers: if phone_pattern.match(number): print(f"{number} 是有效的手机号码") else: print(f"{number} 不是有效的手机号码")
运行代码后,输出的结果如下:
13888888888 是有效的手机号码 15012345678 是有效的手机号码 18011112222 是有效的手机号码 17099998888 是有效的手机号码 16666666666 是有效的手机号码 12345678901 不是有效的手机号码 pidancode.com 不是有效的手机号码
在代码中,首先使用 re.compile() 函数编译正则表达式,然后使用 match() 方法对每个手机号码进行匹配。如果匹配成功,则说明该手机号码是有效的。在正则表达式中,^ 表示开头,1 表示手机号码的第一个数字必须是 1,[35678] 表示第二个数字可以是 3、5、6、7、8 中的任意一个,\d{9} 表示后面跟着 9 个数字,$ 表示结尾。因此,这个正则表达式可以匹配以 13、15、18、17、16 开头的 11 位手机号码。
相关文章