欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

Python 正则表达式 re 模块实战

时间:2026年08月12日 04:46:50 浏览:0

基础匹配


import re

# 查找第一个匹配
result = re.search(r'\d+', '我有 123 个苹果')
print(result.group()) # 123

# 查找所有匹配
result = re.findall(r'\d+', '年龄: 18, 身高: 175')
print(result) # ['18', '175']

# 按模式分割
parts = re.split(r'[,;]', 'a,b;c,d')
print(parts) # ['a', 'b', 'c', 'd']

分组捕获


# 提取邮箱用户名和域名
email = "zhangsan@example.com"
pattern = r'([a-zA-Z0-9_]+)@([a-zA-Z0-9.]+)'
match = re.match(pattern, email)
print(match.group(1)) # zhangsan
print(match.group(2)) # example.com

替换


text = "电话号码: 138-0000-1111"
clean = re.sub(r'-', '', text)
print(clean) # 电话号码: 13800001111

# 替换并返回次数
clean, count = re.subn(r'\s', '_', 'hello world', count=1)

预编译(性能优化)


pattern = re.compile(r'\d+')
result = pattern.findall('test123test456')

常用正则示例



  • 邮箱:r'^[\w\.-]+@[\w\.-]+\.\w+$'

  • 手机号:r'^1[3-9]\d{9}$'

  • URL:r'https?://[^\s]+'


正则表达式是文本处理的瑞士军刀。