python—day17 正则表达式 re模块
Posted kermitjam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python—day17 正则表达式 re模块相关的知识,希望对你有一定的参考价值。
re模块:
什么是正则?就是把一系列特殊意义的字符串组合到一起成为正则表达式,通过re模块来调用正则方法;
1 import re 2 print(re.findall(‘\\w‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\w 字母数字下划线 3 print(re.findall(‘\\W‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\W 非字母数字下划线 4 print(re.findall(‘\\d‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\d 数字 5 print(re.findall(‘\\D‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\D 非数字 6 print(re.findall(‘\\s‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\s 空格 7 print(re.findall(‘\\S‘,‘kermitjam kermitjam _ [email protected]$%#^&%*)_)‘)) #\\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模块的主要内容,如果未能解决你的问题,请参考以下文章
Python 基础 - Day 5 Learning Note - 模块 之 标准库:RE (14) 正则表达式