【python】re解析和re模块

news2024/12/23 4:18:04

目录

正则

RE概念

常见的元字符

量词

贪婪&惰性

修饰符

re模块

findall

finditer

search

match

预加载正则式

内容提取


正则

RE概念

常见的元字符

量词

贪婪&惰性

贪婪匹配.*

惰性匹配.*?

修饰符

修饰符描述
re.I使匹配对大小写不敏感
re.L做本地化识别(locale-aware)匹配
re.M多行匹配,影响 ^ 和 $
re.S使 . 匹配包括换行在内的所有字符
re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

re模块

findall

import re
# findall:匹配所有符合正则规则的内容
my_list=re.findall(r"\d+","电话号码是:10011,我女友的电话是:10012")
print(my_list)

返回一个列表(效率较低)['10011', '10012']

finditer

import re
# finditer 匹配后返回迭代器(效率高)
my_it=re.finditer(r"\d+","电话号码是:10011,我女友的电话是:10012")
print(my_it)
for i in my_it:
    print(i.group())
    print(i)

<callable_iterator object at 0x0000011D90A33D60>
10011
<re.Match object; span=(6, 11), match='10011'>
10012
<re.Match object; span=(20, 25), match='10012'>

import re
# search:找到一个结果就返回
s=re.search(r"\d+","电话号码是:10011,我女友的电话是:10012")
print(s.group())

返回一个match对象,通过.group读取。

10011 

match

s=re.match(r"\d+","电话号码是:10011,我女友的电话是:10012")
print(s.group())

报错,mathc默认为从头开始匹配,即此刻正则变为^\d+

预加载正则式

obj=re.compile(r"\d+")
ret=obj.finditer("电话号码是:10011,我女友的电话是:10012")
for i in ret:
    print(i.group())

10011
10012

内容提取

(?P<分组名字>正则表达式)

import re
s="""
<div class='coleak1'><span id='111'>coleaks5</span></div>
<div class='coleak2'><span id='222'>coleaks6</span></div>
<div class='coleak3'><span id='333'>coleaks7</span></div>
<div class='coleak4'><span id='444'>coleaks8</span></div>
"""
obj=re.compile(r"<div class='.*?'><span id='\d+'>(?P<xiao>.*?)</span></div>",re.S)
# re.S:让.能匹配换行符
res=obj.finditer(s)
for i in res:
    print(i.group("xiao"))

coleaks5
coleaks6
coleaks7
coleaks8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口测试框架实战 | 流程封装与基于加密接口的测试用例设计

接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法&#xff0c;是远远不够的&#xff0c;还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以&#xff0c;接下来&#xff0c;我们主要介绍下接口测试用例分析以及通用的流程封装是如何…

GO语言基础-06-匿名函数和闭包

文章目录1. 匿名函数概念语法示例2. 闭包概念语法语法示例1. 匿名函数 概念 如其名&#xff0c;匿名函数不声明函数名。因此要调用匿名函数只能定义一个变量等于该匿名函数。 语法 func(参数 参数类型)(返回值 返回值类型){函数体 }示例 代码 package mainimport "fm…

Jenkins操作文档

前言 jenkins概述 持续集成是一种实践&#xff0c;而jenkins可以帮助团队去尽量好的去完成这种实践 jenkins是⼀个开源软件项⽬&#xff0c;是基于Java开发的⼀种持续集成⼯具&#xff0c;⽤于监控持续重复的⼯作&#xff0c;旨在提供⼀个开放易⽤的软件平台&#xff0c;使软…

“锂”想护航|深耕重点工段,用AI为锂电池安全生产加倍提速!

行业发展DEVELOPMENT -受益于新能源汽车市场的爆发增长、“双碳”政策影响下的储能市场扩大等影响&#xff0c;中国锂电行业现已进入高度产业化、规模化发展时期。锂电池生产工艺较长&#xff0c;生产设备庞杂&#xff0c;专用性强&#xff0c;而当前已迈入国际化竞争的锂电行业…

【Vue】032-尚硅谷-尚品汇-mockjs模拟数据---20230111

032-尚硅谷-尚品汇-mockjs模拟数据 官网链接 第一步:安装依赖包mockjs 安装mockjs npm install --save mockjs第二步:在src文件夹下创建一个文件夹mock。 第三步:准备模拟的数据。&#xff01; mock/banner.json [{"id": "1","imgUrl": &q…

哪种蓝牙耳机音质好?2023公认音质最好的蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机的使用频率越来越高&#xff0c;其在音质上的表现也越来越好。那么&#xff0c;在众多的蓝牙耳机当中&#xff0c;哪种蓝牙耳机音质好&#xff1f;下面&#xff0c;我来给大家推荐几款公认音质最好的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小…

(十七)Java的时间与日期(1)

目录 前言: ①Date类 ②SimpleDateFormat类 ③Calendar 前言: 时间和日期. 在系统开发中&#xff0c;日期与时间作为重要的业务因素&#xff0c;起到十分关键的作用&#xff0c;例如同一个时间节点下的数据生成&#xff0c;基于时间范围的各种数据统计和分析&#xff0c;集群节…

深入浅出变长结构体

1、 问题的引出 项目中用到数据包的处理&#xff0c;但包的大小是不固定的&#xff0c;其长度由包头的2字节决定。比如如下的包头&#xff1a;88 0f 0a ob cd ef 23 00 。长度由头2个字节880f决定&#xff0c;考虑字节序&#xff0c;转为0f88&#xff0c;转为10进制3976个字节的…

汽车零部件行业追溯系统的应用

汽车行业正处于一个蓬勃发展的阶段&#xff0c;随着客户需求的不断变化&#xff0c;生产厂商推出新款商品的速度也越来越快&#xff0c;新项目和变更的不断出现&#xff0c;就可能导致在交付的产品质量方面遇到各种各样的问题。如果这些质量问题得不到及时有效地追溯和控制&…

知识点滴 - PLC培训笔记

如上图所示&#xff0c;这个设备就是PLC的应用场景&#xff0c;对外控制很多接口电路&#xff0c;交流直流&#xff0c;不同大小电流、电压的电路。在工业上使用很多。 而开发PLC程序时&#xff0c;是在相应的集成开发环境中&#xff0c;画出如下的梯形图&#xff1a; 什么是PL…

Vue使用Element-UI生成并展示表头序号

前言 序号算是在展示数据的时候&#xff0c;一种很普遍的属性了&#xff0c;我们可以自己写生成序号的规则&#xff0c;也可以借助第三方。 这里我选择后者&#xff0c;使用Element-UI自带的一个table属性&#xff0c;去生成并展示需要 首先看下我的页面&#xff0c;是没有序…

Apache Sling App CMS <1.1.4 存在反射型XSS漏洞(CVE-2022-46769)

漏洞描述 Apache Sling 是一个基于可扩展内容树&#xff08;extensible content tree&#xff09;的 RESTful Web 应用框架。 1.1.4 之前版本的 Apache Sling 中的 cms.js#confirmMessage 方法未对用户可控的 title 和 message 参数进行过滤&#xff0c;攻击者可将精心构造的…

dubbo源码实践-总结

自己大概花了一个月的时间&#xff0c;断断续续的看了一遍dubbo源码&#xff0c;之前的文章从实践出发搭建了dubbo各层的例子&#xff01;Dubbo源码的学习也暂时告一段落。这篇就谈谈自己对dubbo源码学习个人感受&#xff01;1 dubbo是什么&#xff1f;dubbo是一个RPC框架&…

网站优化包括对什么优化(网站优化有哪些方面)

互联网时代下&#xff0c;各行各业都想在在互联网中占据市场&#xff0c;目前网站优化成为时代的潮流&#xff0c;很多站长&#xff0c;在对网站进行优化时&#xff0c;稍不注意就会造成网站优化过度&#xff0c;这也是各位最头疼的事情&#xff0c;网站优化能急于求成&#xf…

KubePi <1.6.4 存在会话固定漏洞(CVE-2023-22479)

漏洞描述 KubePi 是一个 K8s 面板&#xff0c;允许管理员导入多个 Kubernetes 集群&#xff0c;并且通过权限控制将不同 cluster、namespace 的权限分配给指定用户。 1.6.4 之前版本的 KubePi 在用户登录后未刷新用户 cookie&#xff0c;攻击者可通过诱导用户点击恶意链接等劫…

maven创建web工程,使用模板方式(二)

一&#xff0c;选择webapp模板 二&#xff0c;填写完信息后&#xff0c;创建后是如下的结构&#xff1a; 可以看到只有web目录&#xff0c;没有其他的java&#xff0c;resources&#xff0c;test目录等。 三&#xff0c;创建Java&#xff0c;resources,test目录 右键-> ma…

【C语言进阶】 指针强化练习

目录题目一题目二题目三题目四题目五题目六题目七题目八题目一 下面这段代码的执行结果是&#xff1f; int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d\n", *(a 1), *(ptr - 1));return 0; }解决这种数组与指针相结合的问题…

【Leetcode面试常见题目题解】2. 无重复字符的最长子串

题目描述 本文是LC第3题&#xff1a;无重复字符的最长子串。 题目描述如下 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 举例 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 输入:…

html实现酷炫的公司年会抽奖(附源码)

文章目录1.设计来源1.1 主界面1.2 抽奖效果1.2 中奖效果2.效果和源码配置2.1 动态效果2.2 员工信息配置2.3 奖品信息配置2.4 抽奖音效配置2.5 源代码源码下载作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/128640998 ht…

AI绘画日漫欧漫动态表情换脸游戏风生成红包封面流量主小程序开发

AI绘画日漫欧漫动态表情换脸游戏风生成红包封面流量主小程序开发 因全网AI绘画大量小程序被封禁下架。只有采用合规稳定运营引擎。 文生图图动日漫图生欧漫图转动图人物表情变脸换脸3D动漫集成7大AI制图模式 支持个人模式和企业支付。趣味AI制图支持流量主。 打造一款适合个人…