正则表达符号(图片源自网络):
python中的正则:首先需要一个叫做re的库(pycharm自带可以直接import)
python中正则表达式的格式一般都是“ r'' ”这样的形式,它表示对特殊字符要转义。
re库里有个方法叫做complie()方法,是用于把正则表达式的字符串编译成一个pattern对象。
pattern对象提供了match, search, findall等方法。
例子:pattern = re.complie(r'\d+') (\d与+号的含义在上图中有)
result = pattern.match('one123two123third123')
print(result)
结果显示为:None(刺激不!?)
match函数默认是从开头开始匹配,且只匹配一次,但是,可以指定开头的位置。如果没有匹配到那么返回None,匹配到返回一个group
match('str', 2, 3):表示从索引为2的位置开始匹配到索引为3的位置。
search函数:匹配整个字符串,且只匹配一次,所以上面的代码用search是可以匹配到的,返回一个group。
findall函数:获取所有的匹配结果,返回一个list。(所以一般都用findall)
额外说一句:
贪婪模式与非贪婪模式:贪婪模式是在表达式匹配成功的情况下尽可能多的匹配,非贪婪模式就是尽可能少的匹配。