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匹配的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

python 正则表达式 re模块基础

python基础学习(十三)

python基础学习笔记(十三)

全网最全正则表达式系统讲解,实战练习,豆瓣案例解析(附讲解源代码)

前端开发常用js代码片段