当前位置: 首页 > news >正文

python与正则:前后向断言、分组,以及案例练习

向前向后断言

import retext1 = 'hello World zhangsan'# ?=\s 向前断言,检查后面内容是否满足
pattern1 = r'\w+(?=\s)'alist = re.findall(pattern1, text1)
print(alist)print('-' * 30)
# 检查要求前面有一个空格
text2 = ' Hello world'
pattern2 = r'(?<=\s)\w+'
alist2 = re.findall(pattern2, text2)
print(alist2)

执行结果
在这里插入图片描述

正则中的分组与捕获以及反向引用

正则表达式不仅可以用于简单的模式匹配,还可以通过分组、断言等方式,处理更加复杂的文本。

  1. 分组
    我们可以使用圆括号组成一个比较复杂的匹配模式。那么一个圆括号的部分我们可以看作是一个子表达式/一个分组
  2. 捕获
    把正则表达式中子表达式/分组的内容,保存在内存中以数字编号或显示命名的组里,方便使用,从左向右,以分组的左括号为标志,第一个出现的分组的组号是1,第二个是2,以此类推,组0代表的是整个正则
  3. 反向引用
    圆括号的内容被捕获以后,可以在这个括号后被使用,从而写出一个比较实用的匹配模式,这种引用既可以是在正则表达式内部,也可以是正则表达式外部。内部反向引用用\分组号,外部反向引用用$分组号
import retext = '123-4567-8910'pattern = r'(\d{3})-(\d{4})-(\d{4})'result = re.search(pattern, text)# group()或者group(0)都代表获取匹配到的全部内容
print(result.group())
print(result.group(0))
# group分组的编号是从1开始的,不是从0开始的
print(result.group(1))
print(result.group(2))
print(result.group(3))

执行结果是

http://www.dtcms.com/a/283627.html

相关文章:

  • Xss-labs 1-8关的初步通关
  • 【Linux系统】进程地址空间
  • 时序数据库选型指南 —— 为什么选择 Apache IoTDB?
  • Qt Quick 粒子系统详解
  • 数据呈现高阶技巧:散点图与桑基图的独特价值
  • 从零开始学 Linux 系统安全:基础防护与实战应用
  • 12.9 Mixtral-8x7B核心技术解密:如何用1/3参数实现4倍推理速度碾压LLaMA2?
  • 取消office word中的段落箭头标记
  • 多方案对比分析:后端数据加密策略及实践
  • 菜单权限管理
  • 【Linux】LVS(Linux virual server)
  • zabbix安装(docker-compose)
  • 若依框架开启注册功能全流程指南
  • I3C Host Adapter Pro+ (3)
  • 36.在列表或字典中查找匹配项
  • CrewAI与LangGraph:下一代智能体编排平台深度测评
  • 数据分析全流程指南:从明确目标到数据呈现的实操方法论
  • Kiro vs Cursor: AI IDE 终极对比指南
  • github不能访问怎么办
  • mac OS上docker安装zookeeper
  • 3t车用手动卧式千斤顶设计含8张CAD图纸PDF图
  • 有n棍棍子,棍子i的长度为ai,想要从中选出3根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0。
  • 优先队列的实现
  • 基础算法题
  • 批判式微调(CFT):原理、架构与高效推理训练新范式
  • 基于vue + Cesium 的蜂巢地图可视化实现
  • 学习OpenCV---显示图片
  • 全局异常处理
  • 图示+例子 深入理解 前向反向传播
  • NodeJS Express+Sequelize实现单个模块的增删改查功能