1.查看re模块的全部属性和函数
>>>import re,pprint >>>pprint.pprint(re.__all__) ['match', 'fullmatch', 'search', 'sub', 'subn', 'split', 'findall', 'finditer', 'compile', 'purge', 'template', 'escape', 'error', 'A', 'I', 'L', 'M', 'S', 'X', 'U', 'ASCII', 'IGNORECASE', 'LOCALE', 'MULTILINE', 'DOTALL', 'VERBOSE', 'UNICODE']
2.以下pattern参数代表正则表达式,string代表被匹配的字符串
re.match(pattern,string,flags=0):从字符串开始处匹配,匹配不成功返回None
re.search(pattern,string,flags=0):搜索整个字符串,并返回第一处匹配pattern的匹配对象
import re m1 = re.match('www', 'www.fkit.org') print(m1.span()) print(m1.group()) print(re.match('fkit', 'www.fkit.org')) m2 = re.search('www', 'www.fkit.org') print(m2.span()) print(m2.group()) m3 = re.search('fkit', 'www.fkit.org') print(m3.span()) print(m3.group()) # 输出结果 (0, 3) www None (0, 3) www (4, 8) fkit
re.findall(pattern,string,flags=0):扫描
re.finditer(pattern,string,flags=0):
贪婪模式与勉强模式:
说明 | 举例 | |
* | 限定前面的子表达式可出现0-N次,等价于{0,} | |
+ | 限定前面的子表达式可出现0-N次,等价于{1,} | |
? | 限定前面的子表达式出现0-1次,等价于{0,1} | |
{n,m} | 限定前面的子表达式出现n-m次,等价于{n,m} | |
{n,} | 限定前面的子表达式至少出现n次 | |
{,m} | 限定前面的子表达式至多出现m次 | |
{n} | 限定前面的子表达式必须出现n次 |