正则表达式:模式匹配与文本提取
re模块基础
python
import re
# 匹配
match = re.match(r'\d+', '123abc')
print(match.group()) # '123'
# 搜索
search = re.search(r'\d+', 'abc123def')
print(search.group()) # '123'
# 查找所有
findall = re.findall(r'\d+', 'a1b22c333')
print(findall) # ['1', '22', '333']
# 替换
result = re.sub(r'\d+', 'X', 'a1b22c333')
print(result) # 'aXbXcX'常用模式
python
email_pattern = r'[\w.-]+@[\w.-]+\.\w+'
phone_pattern = r'\d{3}-\d{4}-\d{4}'
url_pattern = r'https?://[\w./]+'捕获组
python
match = re.search(r'(\d{4})-(\d{2})-(\d{2})', '2024-09-20')
print(match.groups()) # ('2024', '09', '20')
print(match.group(1)) # '2024'练习
- 邮箱验证:验证邮箱格式是否合法。
- 提取URL:从文本中提取所有URL。
- 日期格式转换:YYYY-MM-DD转DD/MM/YYYY。
- 敏感词过滤:用正则替换敏感词。
答案:第三章答案
下一节:日期与时间