#compile re模块中的编译方法 可以把个字符串编译成宇节码
#优点:在使用正则表达式进行match的操作时,python会将字符串转为正则表达式对象,
#而如果使用complie则只需要完成一次转换即可,以后再使用模式对象的话无需重复转换,
import re
res=re.compile(’\d{4}’)
#开始去使用模式对象res
rs=res.match(‘1234’)
print(rs.group())
print(re.match(’\d{4}’,‘123456’).group())
re.search 规则是:在全文中匹配次,匹配到就返回
data=‘羌笛何须怨杨柳’
res=re.search(‘杨柳’,data)
print(res)
print(res.group())
print(data[5])
#re. findall() 查询字符串中某个正则表达式全部的非重复出现的情况
返回的是一个符合正则表达式的结果列表
data=‘华为是华人的骄傲’
res=re.findall(‘华.’,data)
print(res)
#改造一下使用compile
reobj=re.compile(‘华.’)#创建一次正则对象转换
print(reobj.findall(data))
print(reobj.search(data))
re.sub 实现目标的搜索和替换
re.subn 实现目标的搜索和替换 还返回被替换的数量以元组形式
data=‘tom是一个猫tom’
pa=’[a-zA-Z]+’ #字符集的范围+号代表前导字符模式出现1次以上
res=re.sub(pa,‘bob’,data)#根据pa匹配data 符合pa匹配的然后替换为bob
resn=re.subn(pa,‘tom’,data) #返回替换次数
print(res)
print(resn)
re.split 实现分割字符串
data=‘百度,腾讯,阿里,360’
print(re.split(’,’,data))