正則表達式至關於匹配字符串。正則表達式
import respa
obj_re = re.mach(匹配規則,數據源)code
1 >>> import re 2 >>> obj_re = re.match("abc","def") 3 >>> print(obj_re) 4 None 5 >>> obj_re = re.match("abc","abcdef") 6 >>> print(obj_re) 7 <_sre.SRE_Match object; span=(0, 3), match='abc'> 8 #不匹配返回None,匹配則返回一個對象
1 >>> print(obj_re.group()) 2 abc 3 #obj_re.group()方法用來打印匹配的內容
1 # m = re.match("[0-9]",7) 2 # 這是錯誤的,7是數字,而不是字符串,這樣會引起異常
m = re.match("[0-9]","aaa7") #不匹配,由於match()方法是從第一個字符開始匹配,切[0-9]只表明匹配第一個字符的可選範圍 m = re.match("[0-9]","7aaa") #匹配
m = re.match("[0-9]{0,10}","7556aaa") if m : print(m.group()) >>> 7556 #{0,10}表示將前面的[0-9],連續的匹配0-10次,本例中的7556能夠匹配
m = re.match("[0-9]{10}","7556aaa") >>> None #{0,10}表示將前面的[0-9],連續的匹配10次,本例中的7556沒法知足匹配
m = re.findall("[0-9]","7556a9aa12") if m : print(m) >>> ['7', '5', '5', '6', '9', '1', '2'] #將全部的數字匹配出來,注意返回對象的類型
m = re.findall("[0-9]{1,10}","7556a9aa12") if m : print(m) >>> ['7556', '9', '12'] #將字符串中的數字匹配出來,數字能夠使連續1-10個,連續的數字做爲一個列表的元素, #就是匹配的項目按照連續次數的限制要求,做爲一個總體
m = re.findall("[a-zA-Z]{1,10}","AS755sdddwe6a9aa12") if m : print(m)
>>> ['AS', 'sdddwe', 'a', 'aa']