re模块的使用

廉价感情. 提交于 2020-01-03 08:57:28

re模块下的函数

compile(pattern):创建模式对象

import re
pat = re.compile('D')
m = pat.search('CBA')  #等价于re.search('A', 'ABC')
n = pat.search('BCD')

if m:
    print("####")
if n:
    print("****")

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

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

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

m = re.match('asd','asdasd')
print(m)
## <_sre.SRE_Match object at 0xb72cd6e8>  #匹配到了,返回MatchObject(True)
n = re.match('asd','ASDASD')
print(n)
# 等价于
pat=re.compile('a')
print(pat.match('Aasd'))
print(pat.match('aASD'))

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')

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

re.sub('a','A','abcasd')   #找到a用A替换,后面见和group的配合使用
## 输出 'AbcAsd'

# 等价于
pat = re.compile('a')
pat.sub('A','abcasd')
## 输出'AbcAsd'

## 网址:https://www.zhihu.com/search?q=python%20re模块&utm_content=search_history&type=content(更详细)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!