python正则匹配电话号码

2023-02-28 00:00:00 匹配 正则 电话号码

以下是一个可以匹配中国大陆手机号码的正则表达式,在 Python 中使用可以调用 re 模块的 findall 函数:

import re

text = "我的电话号码是 13312345678,你的号码是 13987654321"
pattern = r"\b1[3456789]\d{9}\b"
phone_numbers = re.findall(pattern, text)
print(phone_numbers)

上面的代码中,\b 表示单词边界,确保匹配到的数字前后没有其他字符。接着,1 表示手机号码的第一位是数字 1,方括号 [3456789] 表示第二位可以是数字 3、4、5、6、7、8 或 9,\d{9} 表示接下来的 9 位数字可以是任意数字,这样就可以匹配中国大陆的手机号码了。

上述代码将会输出以下内容:

['13312345678', '13987654321']

其中,['13312345678', '13987654321'] 是匹配到的所有符合条件的手机号码。

相关文章