Python编程之Re模块下的函数介绍

时间:2021-05-22

re模块下的函数

compile(pattern):创建模式对象

import repat=re.compile('A')m=pat.search('CBA') #等价于 re.search('A','CBA')print m<_sre.SRE_Match object at 0x9d690c8> #匹配到了,返回MatchObject(True)m=pat.search('CBD')print mNone #没有匹配到,返回None(False)

search(pattern,string):在字符串中寻找模式

m = re.search('asd','ASDasd')print m<_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)m = re.search('asd','ASDASD')print mNone #没有匹配到,返回None(False)

match(pattern,string):在字符串开始处匹配模式

m = re.search('asd','ASDasd')print m<_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)m = re.search('asd','ASDASD')print mNone #没有匹配到,返回None(False)

等价于

pat=re.compile('a')print pat.match('Aasd')Noneprintpat.match('aASD')<_sre.SRE_Match object at 0xb72cd6e8>

上面的函数返回都可以在if条件语句中进行判断:

if pat.search('asd'):... print 'OK'... OK #找到返回if re.search('a','ASD'):... print "OK"... #没有找到

split(pattern,string):根据模式分割字符串,返回列表

re.split(',','a,s,d,asd')['a', 's', 'd', 'asd'] #返回列表 pat = re.compile(',')pat.split('a,s,d,asd')['a', 's', 'd', 'asd'] #返回列表 re.split('[, ]+','a , s ,d ,,,,,asd') #正则匹配:[, ]+,后面说明['a', 's', 'd', 'asd'] re.split('[, ]+','a , s ,d ,,,,,asd',maxsplit=2) # maxsplit 最多分割次数['a', 's', 'd ,,,,,asd'] pat = re.compile('[, ]+') #正则匹配:[, ]+,后面说明pat.split('a , s ,d ,,,,,asd',maxsplit=2) # maxsplit 最多分割次数['a', 's', 'd ,,,,,asd']

findall(pattern,string):列表形式返回匹配项

re.findall('a','ASDaDFGAa') ['a', 'a'] #列表形式返回匹配到的字符串pat = re.compile('a')pat.findall('ASDaDFGAa')['a', 'a'] #列表形式返回匹配到的字符串pat = re.compile('[A-Z]+') #正则匹配:'[A-Z]+' 后面有说明pat.findall('ASDcDFGAa')['ASD', 'DFGA'] #找到匹配到的字符串pat = re.compile('[A-Z]')pat.findall('ASDcDFGAa') #正则匹配:'[A-Z]+' 后面有说明['A', 'S', 'D', 'D', 'F', 'G', 'A'] #找到匹配到的字符串pat = re.compile('[A-Za-z]') #正则匹配:'[A-Za-z]+' 匹配所有单词,后面有说明pat.findall('ASDcDFGAa')['A', 'S', 'D', 'c', 'D', 'F', 'G', 'A', 'a']

sub(pat,repl,string) :用repl替换 pat匹配项

(留的是中间的,因为中间在中心)

re.sub('a','A','abcasd') #找到a用A替换,后面见和group的配合使用'AbcAsd'pat = re.compile('a')pat.sub('A','abcasd')'AbcAsd' pat=re.compile(r'pile(r'abc',re.I) #re.I 作为参数使用,推荐>>> pat.findall('aBC')['aBC']>>> pat.findall('abc')['abc']>>> pat.findall('ABC')['ABC']

总结

以上就是本文关于Python编程之Re模块下的函数介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python探索之静态方法和类方法的区别详解、Python探索之爬取电商售卖信息代码示例等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章