在python中使用re模块完成市面上手机号规则的编写、随机生成11位数字然后通过正则匹配出符合规则的11位数号码
时间: 2023-06-04 10:05:51 浏览: 815
你好!关于你的问题,我可以为你提供一些帮助。
要使用Python中的re模块来匹配符合规则的手机号码,首先需要了解移动、联通、电信三大运营商的手机号码规则。以中国大陆地区的手机号码为例,移动号码开头数字为13、15、18、198,联通号码开头数字为13、15、18、166,电信号码开头数字为13、15、18、199。
因此,我们可以使用re模块和正则表达式来编写匹配规则。以下是一个简单的例子:
```
import re
import random
# 随机生成一个11位手机号码
def generate_phone_number():
prefix = ["13", "15", "18", "166", "198", "199"]
phone_number = random.choice(prefix) + "".join(random.choices("0123456789", k=9))
return phone_number
# 匹配手机号码
def match_phone_number(phone_number):
pattern = "^1[3-9]\\d{9}$"
if re.match(pattern, phone_number):
return True
else:
return False
# 测试
phone_number = generate_phone_number()
print("随机生成的手机号码为:", phone_number)
if match_phone_number(phone_number):
print("该号码符合规则")
else:
print("该号码不符合规则")
```
以上代码通过调用Python中的random模块生成了一个11位的随机手机号码,并通过正则表达式匹配判断该手机号码是否符合规则。
希望以上解答能对您有所帮助,如果有任何问题请随时与我交流。
阅读全文