Python re 模块
实例
查找文本中的所有电子邮件地址:
import re
text = 'Contact Emil at emil@example.com or Tobias at tobias@test.com'
emails = re.findall(r'\S+@\S+', text)
print(emails)
亲自试一试 »
定义和用法
re 模块提供正则表达式操作,用于在字符串中进行模式匹配。
使用它可以根据模式搜索、匹配、拆分和替换文本,验证输入格式,或从字符串中提取特定数据。
成员
| 成员 | 描述 |
|---|---|
| A | ASCII 标志的别名。 |
| ASCII | 仅匹配 \w、\b、\s 字符。 |
| compile() | 将正则表达式模式编译成 Pattern 对象。 |
| DEBUG | 显示已编译表达式的调试信息。 |
| DOTALL | 使点号匹配任何字符,包括换行符。 |
| escape() | 转义字符串中的特殊字符,以便在正则表达式中使用。 |
| findall() | 返回所有不重叠的匹配项,以字符串列表的形式返回。 |
| finditer() | 返回一个迭代器,该迭代器会生成所有匹配项的 Match 对象。 |
| fullmatch() | 将整个字符串与指定模式进行匹配。 |
| I | IGNORECASE 标志的别名。 |
| IGNORECASE | 执行不区分大小写的匹配。 |
| L | LOCALE 标志的别名。 |
| LOCALE | 使 \w、\b、\s 依赖于当前区域设置。 |
| M | MULTILINE 标志的别名。 |
| Match | match() 和 search() 调用成功后返回的类型。 |
| match() | 匹配字符串开头的模式。 |
| MULTILINE | 使 ^ 匹配每行的开头,$ 匹配每行的结尾。 |
| Pattern | 已编译正则表达式对象的类型。 |
| purge() | 清除正则表达式缓存。 |
| RegexFlag | 正则表达式标志的枚举值。 |
| S | DOTALL 标志的别名。 |
| search() | 查找模式匹配的第一个位置。 |
| split() | 按模式出现的次数拆分字符串。 |
| sub() | 用替换字符串替换模式出现的次数。 |
| subn() | 替换出现次数并返回(新字符串,替换次数)。 |
| template() | 编译模板模式(已弃用)。 |
| U | Unicode 标志的别名。 |
| Unicode | 使 \w、\b、\s 匹配 Unicode 字符(兼容 Python 2)。 |
| VERBOSE | 允许使用包含空格和注释的详细正则表达式。 |
| X | VERBOSE 标志的别名。 |

