import re
#貪婪模式
*是匹配0次或者多次,b被匹配到的時候,要匹配最大次數
#*只對b產生作用
#非貪婪模式,在匹配成功的前提下,更少的匹配pattern1=re.compile("ab*")
result1=pattern1.findall("ababbc")
print(result1)
#因為?是對*進行修飾
#因為非貪婪模式和貪婪模式必需是在匹配成功的前提下pattern2=re.compile("ab*?")
result2=pattern2.findall("abbbc")
print(result2)
#只要問號後面有東西,必須保證問號後面的要匹配到
str1=「aapattern3=re.compile("ab*?c")
result3=pattern3.findall("abbbc")
print(result3)
test1
bbtest2
cc」#貪婪模式匹配 .*要匹配最多的東西才結束
#非貪婪模式匹配,第一次匹配成功就返回,pattern4=re.compile(".*
")result4=pattern4.findall(str1)
print(result4)#['test1
bbtest2
']
str2=「aa
test1
bbtest2
cc」
pattern5=re.compile(".*?
")result5=pattern5.findall(str2)
print(result5)
貪婪模式和非貪婪模式
1.什麼是正規表示式的貪婪與非貪婪匹配 如 string str abcaxc patter p ab c 貪婪匹配 正規表示式一般趨向於最大長度匹配,也就是所謂的貪婪匹配。如上面使用模式p匹配字串str,結果就是匹配到 abcaxc ab c 非貪婪匹配 就是匹配到結果就好,就少的匹配字元。如上面...
貪婪模式和非貪婪模式
正規表示式通常使用於查詢匹配的字串。python裡數量詞預設是貪婪的 在少數語言裡也可能預設是非貪婪 總是嘗試匹配盡可能多的字元 非貪婪模式剛好相反,總是嘗試匹配盡可能少的字元。例如,正規表示式 ab 如果用於查詢 abbbc 就會找到 abbb 如果使用非貪婪的數量詞 ab 就會找到 a 例如1 ...
python基礎 re模組匹配時貪婪和非貪婪模式
python貪婪和非貪婪 正規表示式通常用於在文字中查詢匹配的字串。python裡數量詞預設是貪婪的 在少數語言裡也可能是預設非貪婪 總是嘗試匹配盡可能多的字元 非貪婪則相反,總是嘗試匹配盡可能少的字元。在 後面加上?使貪婪變成非貪婪。s this is a number 234 235 22 42...