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

python正则表达式3-模式匹配

时间:2018-03-23 23:00:19      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:name   find   nic   com   you   log   col   html   uac   

re.S,使 ‘.‘  匹配换行在内的所有字符

>>> pattern=rghostwu.com
>>> import re
>>> re.findall( pattern, ghostwuacom )
[ghostwuacom]
>>> re.findall( pattern, ghostwubcom ) 
[ghostwubcom]
>>> re.findall( pattern, ghostwu.com ) 
[ghostwu.com]
>>> re.findall( pattern, ghostwu\ncom ) 
[]
>>> re.findall( pattern, ghostwu\ncom, re.S )
[ghostwu\ncom]
>>> 

re.M,多行匹配,主要影响( ^和$ )

>>> str="""
... hi,ghostwu,how are you
... ghostwu: my name is ghostwu,how are you
... ghostwu: nice to meet you
... hello ghostwu
... """
>>> pattern = r"^ghostwu"
>>> re.findall( pattern, str )
[]
>>> re.findall( pattern, str, re.M )
[ghostwu, ghostwu]
>>> 

当正则有多行的时候,可以开启verbose模式re.X

>>> pattern=r"""
... \d{3,4}
... -?
... \d{8}
... """
>>> str="020-88888888"
>>> re.findall( pattern, str )
[]
>>> re.findall( pattern, str, re.X )
[020-88888888]
>>> 

():分组与|  的使用,  假如我们要匹配一个.com,.cn,.net结尾的email

>>> pattern=r"\w+@\w+(.com|.cn|.net)"
>>> email="abc@qq.com">>> re.match( pattern, email )
<_sre.SRE_Match object at 0x7f2b74481828>
>>> re.match( pattern, abc@qq.cn )
<_sre.SRE_Match object at 0x7f2b744818a0>
>>> re.match( pattern, abc@qq.net )
<_sre.SRE_Match object at 0x7f2b74481828>
>>> re.match( pattern, abc@qq.io )
>>> 

匹配超链接

>>> html="""
... <a href="http://www.baidu.com">百度</a>
... <a href="index.html">首页</a>
... <p>这是一段说明</p>
... <a href="http://www.taobao.com">淘宝</a>
... """
>>> re=r"href=\"(.+?)\""
>>> pattern=r"href=\"(.+?)\""
>>> re
href=\\"(.+?)\\"
>>> import re
>>> re.findall( pattern, html )
[http://www.baidu.com, index.html, http://www.taobao.com]
>>> 

 

python正则表达式3-模式匹配

标签:name   find   nic   com   you   log   col   html   uac   

原文地址:https://www.cnblogs.com/ghostwu/p/8634449.html

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