daidingdaiding——python新手教程笔记之re模块详细攻略
re模块详细攻略
Python通过re模块来支持正则表达式。
该模块自Python1.5正式引入,替换了更了更加古老的regex模块和regsub模块(后两个模块,在Python2.5中被移除)
re模块最开始兼容强大且通用的Perl 5风格,且允许多个线程共享同一个已经编译的正则表达式对象。不止如此,还引入了对命名子组的支持。
自此,re模块就一直是Python正则的通用模块。
模块接口
模块函数
接口 |
描述 |
返回值 |
re.compile(pattern, flags=0) |
使用任何可用的标记来编译正则表达式模式 |
正则表达式对象 |
re.match(pattern, string, flags=0) |
使用带有可用标记的正则表达式模式来匹配字符串 |
匹配成功则返回匹配对象;否则返回None |
re.search(pattern, string, flags=0) |
使用带有可用标记的正则表达式模式来搜索字符串中第一次出现的正则表达式模式 |
匹配成功则返回匹配对象;否则返回None |
re.fullmatch(pattern, string, flags=0) |
除了要求match的从起始处开始匹配,而且要求匹配到终止处。即,完全匹配 |
与match一样 |
re.findall(pattern, string, flags=0) |
使用带有可用标记的正则表达式模式来查找字符串中所有非重复出现的正则表达式模式 |
匹配列表(如果没有查找到,则是空列表) |
re.finditer(pattern, string, flags=0) |
与re.findall类似 |
匹配迭代器 |
re.split(pattern, string, maxsplit=0, flags=0) |
使用带有可用标记的正则表达式模式分隔符讲字符串分割为列表,最多分割maxsplit次,默认是最大分割 |
成功匹配的列表(可能包含分隔符) |
re.sub(pattern, repl, string, count=0, flags=0) |
使用带有可用标记的正则表达式模式,讲字符串中所有匹配的模式片段替换成repl |
新的字符串 |
re.subn(pattern, repl, string, count=0, flags=0) |
与re.sub类似 |
元组(new_string, number_of_subs_made) |
re.escape(string) |
转义 |
|
re.purge() |
清除隐式编译的正则表达式缓存 |
异常
exception re.error(msg, pattern=None, pos=None)
msg:没有经过格式化的错误信息
pattern:正则表达式模式
pos:正则模式编译失败的索引位置
lineno:pos关联的行
colno:pos关联的列