目录
一、定义
正则表达式作为文本的高级匹配模式,提供搜索,替换等功能。其本质是由一系列字符和特殊符号构成的字串,这个字串即正则表达式。正则表达式所需要用到的模块为re,其由字符和操作符构成。
二、用法
2.1、正则表达式操作符
2.2、正则表达式函数
我们先了解一下原生字符串,在字符串前加上r,即为原生字符串,正则匹配时这类原生字符串写法相当常见
2.2.1、re.search
该函数目的为搜索正则表达式匹配到的第一个位置的值,返回match对象
Re.search(正则表达式,待匹配字符串,flags=0)
2.2.2、re.match
该函数用于在目标字符串开始位置匹配正则表达式,返回match对象,未匹配成功则返回None,注意一定是从字符串开始位置进行匹配
Re.match(正则表达式,待匹配字符串,flags=0)
Flag说明:
1).re.I(re.IGNORECASE): 忽略大小写
2).re.M(MULTILINE): 多行模式,改变'^'和'$'的行为
3).re.S(DOTALL): 点任意匹配模式,改变'.'的行为
4).re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释
2.2.3、re.findall
该函数用于搜索字符串,以列表格式返回全部匹配上的字符串
Re.findall(正则表达式,待匹配字符串,flags=0)
2.2.4、re.split
该函数通过匹配,依照正则表达式匹配到的字符去切割字符串,将其显示为列表形式。
注:当字符串首尾为匹配上的正则表达式时,列表会多出空格
Re.split(pattern,待匹配字符串)
如果pattern中存在括号,那括号匹配到的结果也会在返回的列表中,不会丢弃
2.2.5、re.finditer
搜索字符串,并返回一个匹配结果的迭代器,每个迭代元素都是match对象
Re.finditer(pattern,待匹配字符串)
2.2.6、re.sub
对匹配上的正则表达式的字符串进行替换
Re.sub(pattern,待替换字符串,待匹配字符串)