应用
字符串操作
.split(string, maxsplit = 0) 分割字符串
text = 'Beautiful is better than ugly. \nExplicit is better than implicit.\n Simple is better than complex'
re.compile(r'\n')
p.split(text)
re.split(r'\n',text)
re.split (r'-','Good-morning') //减号本身不是分组一部分
re.split (r'(-)','Good-morning') //减号本身是分组一部分
re.split (r'\n',text,1) //最多分割几个
字符串的替换
.sub(rep1, string,count =0 )
ords = 'ORD000\NORD001\NORD003'
re.sub(r'\d','-',ords)
//或:
p = re.compile(r'\d')
p.sub('-',ords)
re.sub(r'\*(?P<html>.*?)\*','<strong>\g<html></strong>',text)
re.sbu(r'([A-Z]+)(\d+)','\g<2>-\g<1>',ords)
re.sbun(r'([A-Z]+)(\d+)','\g<2>-\g<1>',ords) //同时返回替换了几次
编译标记
改变正则的默认行为
re.I 忽略大小写
re.M 匹配多行
re.S 制定'.'匹配所有字符,包括\n
import re
text = 'Python python PYTHON'
re.search(r'python',text)
re.findall(r'python',text)
re.findall(r'python',text,re.I)
re.findall(r'<html>',\n<html>,re.M)
//输出结果['<html>']
re.findall(r'\d(.)'.'1\ne',re.S)
//输出结果['\n']
模块级别操作
re.purge() 清除缓存
re.findall(re.re.escape()'shift+6','shift+python+shift+6')