时间: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邮箱联系删除。
接触编程的朋友都听过正则表达式,在python中叫re模块,属于文字处理服务里面的一个模块。re里面有一个方法叫match,接下来的文章我来详细讲解一下matc
模块在python编程中的地位举足轻重,熟练运用模块可以大大减少代码量,以最少的代码实现复杂的功能。下面介绍一下在python编程中如何导入模块:(1)impo
Python基础教程之闭包的使用方法前言:闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范
os模块在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数.下面介绍os的常用功能1.获取当
python函数式编程之装饰器1.开放封闭原则简单来说,就是对扩展开放,对修改封闭。在面向对象的编程方式中,经常会定义各种函数。一个函数的使用分为定义阶段和使用