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(更详细)