python如何用re正则表达式和random随机生成手机号
时间: 2024-06-08 07:11:07 浏览: 12
可以使用Python中的re和random库来生成手机号。
1. 使用正则表达式生成手机号:
```python
import re
phone_pattern = re.compile(r'1\d{10}') # 手机号正则表达式
phone_number = phone_pattern.findall('my phone number is 18888888888') # 匹配手机号
print(phone_number) # ['18888888888']
```
2. 使用random库随机生成手机号:
```python
import random
def generate_phone():
prefix = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '153', '155', '156', '157', '158', '159', '186', '187', '188', '189']
return random.choice(prefix) + ''.join(random.sample('0123456789', 8))
phone_number = generate_phone()
print(phone_number) # 随机生成一个手机号
```
这样就可以用Python生成手机号了。
相关问题
python如何用re正则表达式和random集成随机生成手机号
可以使用Python的re和random模块来生成随机手机号。以下是一个示例代码:
```python
import re
import random
def generate_phone_number():
# 生成手机号前三位
first_three = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '153', '155', '156', '157', '158', '159', '186', '187', '188', '198']
first_part = random.choice(first_three)
# 生成手机号后八位
second_part = "".join(random.choices("0123456789", k=8))
# 拼接手机号
phone_number = f"{first_part}{second_part}"
# 验证手机号
pattern = re.compile(r'^1[3-9]\d{9}$')
if pattern.match(phone_number):
return phone_number
else:
return generate_phone_number()
```
这个函数首先定义了一个列表`first_three`,里面包含了所有可能的手机号前三位。然后使用`random.choice()`方法随机选择一个前三位,使用`random.choices()`方法生成后八位数字,并将前三位和后八位拼接在一起。最后使用正则表达式验证手机号是否符合规范,如果符合返回生成的手机号,否则递归调用自身继续生成手机号。
python使用正则表达式生成手机号
下面是一个生成随机手机号的 Python 代码,使用了正则表达式:
```python
import re
import random
def generate_phone_number():
# 随机生成手机号前 3 位
first = random.choice([3, 4, 5, 7, 8])
# 随机生成手机号后 8 位
second = random.sample('0123456789', 8)
# 将列表转化为字符串
second = ''.join(second)
# 使用正则表达式将手机号格式化为 3-4-4 的格式
phone_number = re.sub(r"(?<=\d)(?=(\d{4})+$)", "-", str(first) + second)
return phone_number
print(generate_phone_number())
```
输出类似于 `138-8888-8888` 的随机手机号。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)