Python 正则表达式练习题
正则表达式是一种用来匹配字符串模式的强大工具,它可以帮助我们在文本中快速地查找、替换和提取信息。在 Python 中,我们可以通过 re
模块来使用正则表达式。本文将为大家提供一些正则表达式练习题,并附带相应的代码示例,帮助大家更好地理解和掌握正则表达式的使用。
什么是正则表达式
正则表达式是一种由普通字符(例如 a
到 z
)和特殊字符(元字符)组成的字符串,通过一定的模式描述匹配的字符串。例如,[0-9]
可以匹配任意的数字字符。在 Python 中,我们可以使用 re
模块来处理正则表达式。
正则表达式练习题
1. 匹配手机号码
请编写一个正则表达式,匹配中国境内的手机号码。手机号码的格式为 11 位数字,以 1
开头。
import re
pattern = r'^1\d{10}$'
phone_numbers = ['13912345678', '18888888888', '12345678901', '13456789012']
for phone_number in phone_numbers:
if re.match(pattern, phone_number):
print(f'{phone_number} 是有效的手机号码')
else:
print(f'{phone_number} 不是有效的手机号码')
2. 提取邮箱地址
请编写一个正则表达式,从文本中提取所有的邮箱地址。邮箱地址的格式为 xxx@xxx.xxx
。
import re
text = '联系我,请发送邮件至 abc@example.com 或者 xyz@test.com'
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
emails = re.findall(pattern, text)
for email in emails:
print(f'提取到的邮箱地址:{email}')
可视化数据
下面将使用饼状图和序列图来展示正则表达式匹配结果。
饼状图
pie
title 正则表达式匹配结果
"有效手机号码" : 2
"无效手机号码" : 2
序列图
sequenceDiagram
participant User
participant System
User ->> System: 请求匹配手机号码
System ->> System: 执行正则表达式匹配
System -->> User: 返回匹配结果
总结
通过以上的正则表达式练习题,我们学习了如何使用 Python 中的 re
模块来处理正则表达式。正则表达式在文本处理、数据提取等方面有着广泛的应用,掌握好正则表达式的使用将会对我们的编程能力有所提升。希望本文能够帮助大家更好地理解和运用正则表达式。祝大家编程愉快!