re匹配
Posted 风hua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re匹配相关的知识,希望对你有一定的参考价值。
import re 1# # findall: 匹配字符串中所有的符合正则的内容 # lst = re.findall(r"\\d+", "我的电话号是:10086, 我女朋友的电话是:10010") # print(lst) # 2# # finditer: 匹配字符串中所有的内容[返回的是迭代器], 从迭代器中拿到内容需要.group() # it = re.finditer(r"\\d+", "我的电话号是:10086, 我女朋友的电话是:10010") # for i in it: # # print(i) #<re.Match object; span=(7, 12), match=\'10086\'> # print(i.group()) 3# # search, 找到一个结果就返回, 返回的结果是match对象. 拿数据需要.group() # s = re.search(r"\\d+", "我的电话号是:10086, 我女朋友的电话是:10010") # print(s.group()) 4# # match是从头开始匹配 # s = re.match(r"\\d+", "10086, 我女朋友的电话是:10010") # print(s.group()) 5# # 预加载正则表达式 # obj = re.compile(r"\\d+") # # ret = obj.finditer("我的电话号是:10086, 我女朋友的电话是:10010") # for it in ret: # print(it.group()) # # ret = obj.findall("呵呵哒, 我就不信你不换我1000000000") # print(ret)
#示例:
s = """ <div class=\'jay\'><span id=\'1\'>郭麒麟</span></div> <div class=\'jj\'><span id=\'2\'>宋铁</span></div> <div class=\'jolin\'><span id=\'3\'>大聪明</span></div> <div class=\'sylar\'><span id=\'4\'>范思哲</span></div> <div class=\'tory\'><span id=\'5\'>胡说八道</span></div> """ # (?P<分组名字>正则) 可以单独从正则匹配的内容中进一步提取内容 obj = re.compile(r"<div class=\'.*?\'><span id=\'(?P<id>\\d+)\'>(?P<wahaha>.*?)</span></div>", re.S) # re.S: 让.能匹配换行符 result = obj.finditer(s) for it in result: print(it.group("wahaha")) print(it.group("id"))
以上是关于re匹配的主要内容,如果未能解决你的问题,请参考以下文章