正则表达式语法

一、re.match

从开始位置开始匹配,只返回匹配成功的一个实例

  • group(n):返回第n个分组所匹配的内容,其中 n ≥ 1 n\geq1 n1
  • group(0):返回被模式串匹配的部分
  • groups():返回所有分组匹配的内容

玩转python正则表达式

玩转python正则表达式

玩转python正则表达式

二、re.search

搜索整个字符串,只要找到第一个和模式串匹配的字符串就停止

玩转python正则表达式

三、re.findall

搜索整个字符串,以列表形式返回所有匹配的字符串

玩转python正则表达式
提取所有的数字

玩转python正则表达式

四、re.sub

sub(模式串,目标串,原字符串),返回匹配的结果串

1. 直接替换原串

玩转python正则表达式

2. 根据原串构造目标串并替换

此时需要将一个函数传给第二个参数,函数的参数是正则表达式匹配的结果,返回值是目标串

玩转python正则表达式

五、re.split

根据所给字符且分字符串

玩转python正则表达式

六、贪婪模式

玩转python正则表达式
由于正则表达式默认是贪婪的,故 . + .+ .+ 会尽可能多的匹配字符,留尽可能少的字符给后面的正则表达式匹配,所以第一个\d+只匹配了一个数字字符,其他的都被 . + .+ .+ 抢走

关闭贪婪匹配

玩转python正则表达式

此时 . + .+ .+ 尽可能少的匹配字符,尽可能多的将字符留给后面的正则表达式,所以把所有的字符留给了\d+

比较贪婪与非贪婪

玩转python正则表达式

相关文章: