1.re模块
元字符之. ^ $ * + ? { }
import re
set = re.findall('w..l','hellow world')# .代表只能代表任意一个字符
print(set) #['worl']
set = re.findall('w..l','hellow w\nd')#代替不了换行符
print(set) #[]
#^ 只在开始匹配
set = re.findall('^w..l','wrllow world')
print(set) #['werl']
#$只在结束匹配
set = re.findall('w..l$','warlallow wwrll')
print(set) #['wrll']
#*重复匹配[0,+oo)
set = re.findall('ba*','baqwerbaaaab')
print(set)#['ba', 'baaaa', 'b']
#+重复匹配[1,_oo)
set = re.findall('ba+','qwerbcccc')
print(set)#[]
set = re.findall('ba+','qwerbaaaa')
print(set)#['baaaa']
set = re.findall('ba+','baerbaaaa')
print(set)#['ba', 'baaaa']
#?[0,1]
set = re.findall('a?b','aaaabxxabssb')
print(set)#['ab', 'ab', 'b']
#{}匹配范围
set = re.findall('a{5}b','aaaaaabxxaaabssb')
print(set)#['aaaaab']
set = re.findall('a{1,3}b','aaaaabxxaaabsab')
print(set)#['aaab', 'aaab', 'ab']
#结论:*等于{0,正无穷} +等级于{1,正无穷} ?等价于{0,1}
\
#反斜杠后边跟元字符去除特殊功能
#反斜杠后变更普通字符实现特殊功能
\d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于类 [^ \t\n\r\f\v]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
\b 匹配一个特殊字符的边界,比如空格 ,&,#等
print(re.findall('\d{11}','asdad123131231312312312666666'))
#['12313123131', '23123126666']
print(re.findall('\D{5}','asdad123131231312312312666666'))
#['asdad']
print