暂无分类
暂无标签
发布于2019-10-29 18:44 阅读(961) 评论(0) 点赞(14) 收藏(5)
0
1
2
3
4
5
# coding: utf-8
import re
'''
re.match()
re.search()
返回的都是一个对象,obj.group()
re.findall()
返回的是一个列表
re.compile()
re.sub()
'''
string = '<div>浪花淘尽英雄,是非成败转头空!</div></div></div>'
pattern = re.compile(r'<div>.*?</div>')
print(pattern) # re.compile('<div>.*?</div>')
print(type(pattern)) # <class '_sre.SRE_Pattern'>
ret = pattern.search(string)
# print(ret)
print(ret.group()) # <div>浪花淘尽英雄,是非成败转头空!</div>
'''
compile()的定义:
compile(pattern, flags=0)
Compile a regular expression pattern, returning a pattern object.
从compile()函数的定义中,可以看出返回的是一个匹配对象,
它单独使用就没有任何意义,需要和findall(), search(), match()搭配使用。
compile()与findall()一起使用,返回一个列表。
compile()与match()一起使用,可返回一个class、str、tuple。
但是一定需要注意match(),从位置0开始匹配,匹配不到会返回None,
/group属性了,并且与group使用,返回一个单词‘Hello’后匹配就会结束。
compile()与search()搭配使用, 返回的类型与match()差不多,
但是不同的是search(), 可以不从位置0开始匹配。
但是匹配一个单词之后,匹配和match()一样,匹配就会结束。
'''
# coding: utf-8
import re
# 不区分大小写
string = 'love'
pattern = re.compile(r"LOVE", re.I)
ret = pattern.search(string)
# print(ret) # None
print(ret.group()) # love
# coding: utf-8
import re
# 视为单行模式
string = '''<div>
香山一日游
白马不等留
十年不轻忘
莫在多年后
叹当时年少
</div>'''
pattern = re.compile(r'<div>.*?</div>', re.S) # 不加re.S会匹配不到数据,报错
ret = pattern.search(string)
print(ret.group()) # 匹配所有内容,一行
# coding: utf-8
import re
# 视为多行模式
string = '''这些都是以爱开头的歌名
爱情鸟
爱情买卖
爱上一个不回家的人
爱我别走
爱的供养
爱是一道光
'''
pattern = re.compile(r"^爱", re.M)
ret = pattern.findall(string)
print(ret) # 返回列表 内容“爱”
# coding: utf-8
import re
string = '''<div>
<ul>
<li><a href='www.yan.com'>柳岩</a></li>
<li><a href='www.guafu.com'>黑寡妇</a></li>
<li><a href='www.yuan.com'>高圆圆</a></li>
<li><a href='www.zhen.com'>田震</a></li>
</ul>
</div>'''
pattern = re.compile(r"<a href='(.*?)'>(.*?)</a>")
# pattern = re.compile(r"<a href='(.*?)'>(.*?)</a>")
ret = pattern.findall(string)
print(ret)
# [('www.yan.com', '柳岩'), ('www.guafu.com', '黑寡妇'), ('www.yuan.com', '高圆圆'), ('www.zhen.com', '田震')]
0
1
2
3
4
作者:83748wuw
链接: https://www.pythonheidong.com/blog/article/147825/9ff7a360d1ffe02b2099/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2019 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!