📅  最后修改于: 2023-12-03 15:10:00.500000             🧑  作者: Mango
在 Python 中,使用正则表达式可以识别和匹配符合特定模式的字符串。本文将介绍如何使用 Python 正则表达式来匹配中国大陆手机号码。
中国大陆手机号码的格式为 11 位数字,以 13、14、15、16、17、18、19 开头。
在 Python 中匹配中国大陆手机号码,可以使用 re
模块中的 match()
方法。
import re
def is_valid_mobile_number(number):
pattern = r"^(13|14|15|16|17|18|19)\d{9}$"
return re.match(pattern, number) is not None
以上代码中,定义了一个名为 is_valid_mobile_number()
的方法,用于判断传入的参数 number
是否为合法的手机号码。该方法内部使用正则表达式来匹配。
正则表达式的定义为 ^(13|14|15|16|17|18|19)\d{9}$
,其中:
^
表示匹配字符串开头(13|14|15|16|17|18|19)
表示匹配以 13
、14
、15
、16
、17
、18
或 19
开头的字符串\d
表示匹配任意数字字符{9}
表示匹配前面的字符或字符集合恰好出现 9 次$
表示匹配字符串结尾因此,该正则表达式可以匹配符合中国大陆手机号码格式的字符串。
print(is_valid_mobile_number("13912345678")) # True
print(is_valid_mobile_number("19911112222")) # True
print(is_valid_mobile_number("12345678901")) # False
print(is_valid_mobile_number("02345678901")) # False
print(is_valid_mobile_number("1391234567")) # False
本文介绍了如何使用 Python 正则表达式来匹配中国大陆手机号码。要匹配其他格式的手机号码,可以根据需要修改正则表达式。