前言
.
:匹配除 “\n” 之外的任何单个字符*
:匹配0个或多个字符.*
:匹配任意长度的任意字符
贪婪匹配
import re
regex = ".*(b+).*"
string = "abbbba"
res = re.match(regex, string)
print(res.group(1))
>>> b
分析:
.*
:默认匹配尽可能多的字符.*(b+).*
:保证字符b出现至少一次的条件下,.*
尽可能多的匹配任意字符
所以,输出:b
非贪婪匹配
import re
regex = ".*?(b+).*"
string = "abbbba"
res = re.match(regex, string)
print(res.group(1))
>>> bbbb
分析:
.*?
:默认匹配尽可能少的字符.*?(b+).*
:保证字符b出现至少一次的条件下,.*
尽可能少的匹配任意字符
所以,输出:bbbb