正则表达式_五大方法

来源:互联网 发布:设计模式 java最常用 编辑:程序博客网 时间:2024/06/18 10:45

方法名 正则形态 无匹配返回 match 开头一次匹配 None search 全局一次匹配 None findall 全局所有匹配 [ ] split 分割 [‘old_str’] sub 替换 str【原字符串】
re.match(pattern, string[, flags])
# 区分大小写rea = re.match('Ch', 'Chaichan')print(rea)# <_sre.SRE_Match object; span=(0, 2), match='Ch'>print(rea.group())# Ch# re.I 不区分大小写rea = re.match('ch', 'Chaichan', re.I)print(rea)# <_sre.SRE_Match object; span=(0, 2), match='Ch'>
1. 从字符串的起始位置匹配一个模式,成功返回一个匹配的对象,失败返回 None2. 使用group(num) 或 groups() 匹配对象函数来获取匹配表达式 span()返回索引起始位置

re.search(pattern, string[, flags])
# 区分大小写rea = re.search('Ch', '1vy8rVDChtnxChaichan')print(rea)# <_sre.SRE_Match object; span=(0, 2), match='Ch'>print(rea.group())# Ch# re.I 不区分大小写rea = re.search('ch', '1vy8rVDChtnxChaichan', re.I)print(rea)# <_sre.SRE_Match object; span=(0, 2), match='Ch'>
1. 扫描整个字符串并返回第一个成功的匹配的对象,否则返回None。2. 同match

re.findall(pattern, string[, flags])
rea = re.findall('Ch', '1vy8rVDChtnxChaichan')print(rea)# ['Ch', 'Ch']rea = re.findall('Cash', '1vy8rVDChtnxChaichan')print(rea)# []
* 以列表形式返回全部能匹配的子串,否则返回空列表。

re.sub(pattern, repl, string[, max=0,flags=0])
rea = re.sub('Ch', '888', '1vy8rVDChtnxchaichan')print(rea)# 1vy8rVD888tnxchaichan

re.split(pattern, repl, string[, max=0,flags=0])
rea = re.split('(Ch)', '1vy8rVDChtnxChaichan')print(rea)# ['1vy8rVD', 'Ch', 'tnx', 'Ch', 'aichan']rea = re.split('Ch', '1vy8rVDChtnxChaichan')print(rea)# ['1vy8rVD', 'tnx', 'aichan']
*. 注意表达式中 小括号 的作用。