1、正则表达式之分割python
字符串的分割是python最经常使用的操做之一,通常使用split函数,例如:web
s = "今天/天气/真好"
print(s.split('/'))
输出为:[‘今天’,‘天气’,‘真好’]。但split函数只能实现单个字符的分隔,但对于多个分隔符而言,实现起来很是麻烦。
python的正则表达式提供十分强大的多分隔符功能,具体实现以下:正则表达式
import re
s = "jiang,nian,xin、啦/我,你"
split_str = ",|,|、|/" #'|'表示或
s = re.split(split_str, s)
print(s)
输出为:[‘jiang’, ‘nian’, ‘xin’, ‘啦’, ‘我’, ‘你’]。正则表达式够厉害吧。svg
2、正则表达式之替换
在字符串中,经常使用的替换函数为replace,但replace与正则表达式中的sub函数相比,仍是有必定差距的。replace的功能sub可以实现,并且还可以实现其它功能。sub的实现以下:函数
import re
addr="3号9楼8楼2单元302室"
addr = re.sub('[0-9]+(楼|单元)','',addr) #参数第一项模板,第二项为替换的值
print(addr)
输出为:‘3号302室’ 。spa
3、正则表达式之匹配code
匹配经常使用的函数为match,具体功能:匹配string开头,成功返回Match object, 失败返回None,只匹配一个。xml
import re
addr="3号9楼8楼2单元302室"
print(re.match('[0-9]+(楼|单元)',addr))
print(re.match('[0-9]+号[0-9]+(楼|单元)',addr))
#输出为:None; <_sre.sre_match object span="(0," match="‘3号9楼’">字符串
4、正则表达式之查找
search:在string中进行搜索,成功返回Match object, 失败返回None,只匹配一个。string
import re
addr="3号9楼8楼2单元302室"
s = re.search('[0-9]+号[0-9]+(楼|单元)',addr) #使用基本和match同
print(s.span())
#输出为:(0,4)