前言
.
:匹配除 “\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