1. 程式人生 > >python五十七課——正則表達式(多個字符)

python五十七課——正則表達式(多個字符)

就是 精確 註意 aaaaa 分類 int aaa style 字符


演示匹配多個字符:
以下x、y、n都是變量名:
分類:
1).模糊匹配:

x?:表示0個或者1個 取值範圍:[0,1]
x+:表示1個或者多個 取值範圍:[1,無窮大)
x*:表示0個或者多個 取值範圍:[0,無窮大)
【註意】
以上三種符號(?、+、*)都滿足貪婪匹配的特點,
意味著在匹配的前提下,盡可能多的返回數據
思考:如果取消貪婪行為? --> 達到的效果就是在匹配的前提下,盡可能少的返回數據
代碼體現:在正則的最後顯示的定義一個?即可
2).精確匹配:
n{x}:n匹配x次
n{x,}:n最少有x次,最多無窮大 範圍:[x,無窮大)
n{x,y}:n最少有x次,最多有y次 範圍:[x,y]
import re
str1
=bbbbbbbbbbbcccbbbb print(re.search(rb?,str1).group()) print(re.search(rb??,str1).group()) print(re.search(rb+,str1).group()) print(re.search(rb+?,str1).group()) print(re.findall(rb?,str1)) print(re.findall(rb?,str1)) print(re.findall(rb+,str1)) print(re.findall(rb+?,str1))
print(re.findall(rb*,str1)) print(re.findall(rb*?,str1)) #需求:嘗試匹配內容:hank ... man str1=hank is a good man hank is a nice man hank is a cool man regex=rhank.*man # regex=r‘hank.*?man‘ lt=re.findall(regex,str1) print(lt) print(re.search(regex,str1).group()) print(實現精準匹配...) str1
=aaaabbbaaaaaaaaaaaa print(re.findall(ra{3},str1)) print(re.findall(ra{3,},str1)) print(re.findall(ra{3,}?,str1)) print(re.findall(ra{6,8},str1)) print(re.findall(ra{6,8}?,str1))

python五十七課——正則表達式(多個字符)