python—day17 正則表達式 re模塊
阿新 • • 發佈:2018-04-09
提取 16px tro 正則 compile obj love IT 通過
re模塊:
什麽是正則?就是把一系列特殊意義的字符串組合到一起成為正則表達式,通過re模塊來調用正則方法;
1 import re 2 print(re.findall(‘\w‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\w 字母數字下劃線 3 print(re.findall(‘\W‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\W 非字母數字下劃線 4 print(re.findall(‘\d‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\d 數字 5 print(re.findall(‘\D‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\D 非數字 6 print(re.findall(‘\s‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\s 空格 7 print(re.findall(‘\S‘,‘kermitjam kermitjam _ 151262362@$%#^&%*)_)‘)) #\S 非空格 8 print(re.findall(‘^kermit$‘,‘kermit‘)) #從頭到尾 9 print(re.findall(‘^kermit‘,‘kermitwwwwwww‘)) #從頭開始 10 print(re.findall(‘kermit$‘,‘kermitwwwwwwwkermit‘)) #從尾開始 11 print(re.findall(‘a.b‘,‘a\nb wdwfag kermitjam is awb ajb oaob ‘)) #除了換行符意外的任何字符 12 print(re.findall(‘\t‘,‘ ‘)) #字符集 13 print(re.findall(‘[abc]‘,‘abcdjwwafawgpojapcojaocbacbaocbaobcioabwoibcaoib‘)) #所有的abc 14 print(re.findall(‘[a-z]‘,‘abcdjwwafawgpojapcojaocbacbaocbaobcioabwoibcaoib‘)) #所有的a-z字母 15 print(re.findall(‘[^a-z]‘,‘abcd1251623jw6347wafawgp37457ojapco47jaoc4584bacbaocbaobcioabwoibcaoib‘)) #非a-z 16 print(re.findall(‘[A-Z]‘,‘adjAGcGbaoHAcbHaoHHbAGWcioabwoibcaoib‘)) #A-Z 17 print(re.findall(‘[^A-Z]‘,‘adjAGcGbaoHAcbHaoHHbAGWcioabwoibcaoib‘)) #非A-Z 18 print(re.findall(‘ab*‘,‘awbwgawgasehewrcxhdfhre rwehwrehrw‘)) #ab開始0或無窮 19 print(re.findall(‘aw+‘,‘awbwgawgasehewrcxhdfhre rwehwrehrw‘)) #aw開始1或無窮 20 print(re.findall(‘ab?‘,‘abkermitjjjabwaawgaw ab wafa baab‘)) #ab 遇到就提取 ?是不貪婪取值 21 print(re.findall(‘wf{1}‘,‘wfawgwagczxasvbaffaabababafawfaw‘)) #wf 第一個wf 22 print(re.findall(‘ab+‘,‘awwb abbb abbbb‘)) 23 print(re.findall(‘ab*‘,‘awwb abbb abbbb‘)) 24 print(re.findall(‘ab{1}‘,‘awwb abbb abbbb‘)) 25 print(re.findall(‘ab{2}‘,‘awwb abbb abbbb‘)) 26 print(re.findall(‘ab{1,3}‘,‘awwb abbb abbbb‘)) #第一個到第三個 27 print(re.findall(‘ab+‘,‘awwb abbb abbbb‘)) 28 print(re.findall(‘(ab)+‘,‘awwb abbbww abbbbww‘)) 29 print(re.findall(‘(?:ab)+123‘,‘abababab123‘)) #ab左邊的所有字符 30 print(re.findall(‘(ab)+123‘,‘abababab123‘)) 提取第一個ab 31 print(re.findall(‘href="(.*?)"‘,‘<a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/linhaifeng/">‘)) #提取第一個鏈接 32 print(re.findall(‘href="(?:.*?)"‘,‘<a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/linhaifeng/">‘)) #提取整個鏈接 33 print(re.findall(‘kermit(?:y|ies)‘,‘kermity is kermities‘)) #提取末尾是y或者ies並且前綴是kermit的單詞字符 34 35 # re.findall() 返回所有滿足條件匹配條件的結果,存在列表裏面。 36 37 #找到第一個匹配的信息並且返回該對象,該對象可以通過調用group()方法得到匹配的字符串,如果沒有返回None; 38 print(re.search(‘e‘,‘alex make love‘).group()) 39 print(re.search(‘e‘,‘alwwwx makw lova‘).group())
re.split
print(re.split(‘[ab]‘,‘abcd‘))
print(re.split(‘[a]‘,‘abcd‘))
print(re.split(‘[b]‘,‘bcd‘))
print(re.split(‘[kermit]‘,‘kermitj‘))
re.compile
obj = re.compile(‘\d{2}‘)
print(obj.search(‘kermit123‘).group())
print(obj.findall(‘kermitjam12312kawawhh2131nakfw‘))
python—day17 正則表達式 re模塊