悠悠楠杉
网站页面
正则表达式是一种在字符串中执行模式匹配的强大工具,它定义了字符串的搜索模式,可以测试一个字符串是否与预定义的规则相匹配。
在Python中,re
模块提供了对正则表达式的支持。首先需要导入该模块:
python
import re
.
:匹配除换行符之外的任何单个字符。*
:匹配前面的子表达式零次或多次。+
:匹配前面的子表达式一次或多次。|
:执行一个逻辑OR操作,匹配左或右表达式。[]
:匹配方括号内的任何一个字符。{}
:指定前一个字符出现的次数范围。()
:用于分组或捕获文本以供将来使用(\1
, \2
等)。\
:转义字符,用于指定特殊字符或字面量字符的匹配。match()
方法从字符串的起始位置开始匹配正则表达式,如果起始位置不匹配,则返回None。search()
方法在整个字符串中搜索第一个符合正则表达式的子串,如果找到则返回Match对象,否则返回None。python
pattern = re.compile(r'foo') # 编译正则表达式对象
match = pattern.match('food') # match() 从起始位置开始匹配,返回None因为'f'之前没有'oo'
search_result = pattern.search('food') # search() 返回Match对象,包含'oo'的匹配结果
findall()
方法返回字符串中所有符合正则表达式的子串组成的列表。finditer()
方法与findall()
类似,但返回的是一个迭代器对象。python
pattern = re.compile(r'\w+') # 匹配所有单词字符组成的字符串列表
words = pattern.findall('Hello, this is a test.') # ['Hello', 'this', 'is', 'a', 'test']
sub()
方法用于替换字符串中所有符合正则表达式的子串。subn()
方法返回一个包含替换后的字符串和替换次数的元组。