码迷,mamicode.com
首页 > 编程语言 > 详细

Python第十二章正则表达式(2)

时间:2016-05-24 15:17:09      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

1.前提是引入import re

匹配邮箱后缀需要写入r=r‘\.com\.cn|\.com|\.cn‘

r=r‘(\w+@\w+(\.com\.con|\.com|\.cn))‘
ll=re.findall(r,"ZZ@fd.com.con")
print(ll)
2.正则常用的函数 compile
www=r‘a[bcd]c‘
p=re.compile(www)
jj=p.findall("abcd,adc,aac,acc")
print(jj)
3.使用match和search匹配的时候一定要注意加括号分组
r=r‘(a[bcd]e)‘
ll=re.match(r,"ace,ade,afe,age,abe")
print(ll.group())


match只匹配开头


r=r‘(a[bcd]e)‘
ll=re.search(r,"afe,ade,afe,age,abe")
print(ll.group())
search匹配全文,但是都是返回到匹配的第一个内容


strw="welcome to python world"
r=r‘(.*) to (.*?).*‘
ll=re.match(r,strw)
if ll:
print(ll.group(0),1)#匹配整个字符串表达式
print(ll.group(1),2)
print(ll.group(2),3)
print(ll.groups(),4)
print(ll.group(1,2),5)



4.高级使用方法:
  
c=re.sub(r"a..d","python","adfd,affd,aood,qappd")
print(c)
c=re.sub(r"a..d",‘python‘,‘addd,adfd,afdf,eealld‘,2)#后面的2是匹配次数
print(c)
c=re.subn(r‘a..d‘,‘python‘,‘afdd,addd,awwd,avvd‘)
print(c)#返回一个元组,就是比sub多了一个匹配的个数
c=re.split(r‘[\+\-\*\/]‘,"1+2*3/4")
print(c)#按正则进行切割
 
 
 

Python第十二章正则表达式(2)

标签:

原文地址:http://www.cnblogs.com/douyunqian3520/p/5523351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!