MOOC课程学习笔记 课程链接:https://www.bilibili.com/video/BV1ME411E7jE?p=1
Re库主要功能函数
函数
功能
返回值
re.search()
在一个字符串中搜索匹配正则表达式的第一个位置
match对象
re.match()
从一个字符串的开始位置起匹配正则表达式
match对象
re.findall()
搜索字符串,返回全部能匹配的子串
list列表
re.split()
将一个字符串按照正则表达式匹配结果进行分割
list列表
re.finditer()
搜索字符串,返回匹配结果
迭代类型,迭代元素是match对象
re.sub()
在一个字符串中替换所有匹配正则表达式的子串
替换后的string字符串
re.compile()
将正则表达式的字符串形式编译成正则表达式对象
正则表达式对象
实例 (以查找邮政编码为例) search函数 1 2 3 4 match = re.search(r'[1-9]\d{5}' ,'BIT 221745 221746' ) if match: print(match.group(0 ))
match函数 1 2 3 4 5 match = re.match(r'[1-9]\d{5}' ,'BIT 221745' ) match = re.match(r'[1-9]\d{5}' ,'221745 221746 BIT' ) if match: print(match.group(0 ))
findall函数 1 2 3 match = re.findall(r'[1-9]\d{5}' ,'BIT 221745 221746' ) print(match)
split函数 1 2 3 4 5 6 7 8 match = re.split(r'[1-9]\d{5}' ,'ABC 221745 DEF 221746 GHI 221747' ) print(match) match = re.split(r'[1-9]\d{5}' ,'ABC 221745 DEF 221746 GHI 221747' ,maxsplit=1 ) print(match) match = re.split(r'[1-9]\d{5}' ,'ABC 221745 DEF 221746 GHI 221747' ,maxsplit=2 ) print(match)
finditer函数 1 2 3 4 5 6 7 8 9 10 11 match = re.finditer(r'[1-9]\d{5}' ,'ABC 221745 DEF 221746 GHI 221747' ) for m in match: if m: print(m.group(0 )) ''' 输出结果: 221745 221746 221747 '''
sub函数 1 2 3 4 match = re.sub(r'[1-9]\d{5}' ,'000000' ,'ABC 221745 DEF 221746 GHI 221747' ) print(match)
compile函数 1 2 3 regex = re.compile(r'[1-9]\d{5}' ) match = regex.search('ABC 221745 DEF 221746 GHI 221747' )