PYTHON 之 正则表达式 RE

本文深入解析正则表达式的基本概念与语法,涵盖从简单到复杂的匹配规则,包括字符集、重复、边界等高级特性。同时,介绍了正则表达式的应用流程,如编译、查找与替换等,以及如何利用group、start、end等方法获取匹配信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式(RegularExpression, re)

  • 是一个计算机科学的概念
  • 用于使用单个字符串来描述,匹配符合某个规则的字符串
  • 常常用来检索,替换某些模式的文本

正则的写法

  • .(点号):表示任意一个字符,除了\n, 比如查找所有的一个字符 .

  • []: 匹配中括号中列举的任意字符,比如[L,Y,0] , LLY, Y0, LIU

  • \d: 任意一个数字

  • \D:除了数字都可以

  • \s:表示空格,tab键

  • \S:除了空白符号

  • \w: 单词字符, 就是a-z, A-Z, 0-9, _

  • \W: 除了

  • : 表示前面内容重复零次或者多次, \w

  • +: 表示前面内容至少出现一次

  • ?: 前面才出现的内容零次或者一次

  • {m,n}:允许前面内容出现最少m次,最多n次

  • ^:匹配字符串的开始

  • $:匹配字符串的结尾

  • \b:匹配单词的边界

  • ():对正则表达式内容进行分组, 从第一个括号开始,编号逐渐增大

      验证一个数字: ^\d$
      必须有一个数字,最少一位:^\d+$
      只能出现数字,且位数为5-10位: ^\d{5,10}$
      注册者输入年龄,要求16岁以上,99岁以下: ^[16-99]$
      只能输入英文字符和数字: ^[A-Za-z0-9]$
      验证qq号码: [0-9]{5,12}
    
  • \A: 只匹配字符串开头, \Aabcd, 则abcd

  • \Z: 仅匹配字符串末尾, abcd\Z, abcd

  • |: 左右任意一个

  • (?P…): 分组,除了原来的编号再制定一个别名, (?P12345){2}, 1234512345

  • (?P=name): 引用分组,

RE使用的大概步骤

  1. 使用compile将表示正则的字符串编译为pattern对象
  2. 通过pattern对象提供一系列方法对文本进行查找匹配,获得匹配结果,一个match对象
  3. 最后使用match对象提供的的属性和方法获得信息,根据需要进行操作

RE常用函数

  • group() 获得一个或者多个匹配的字符串,当获得整个匹配的子串时,直接使用group获得group(0)
  • start:获得分组匹配的子串在整个字符串中的起始位置,参数默认为0
  • end:获得分组匹配的子串在整个字符串中的结束位置,参数默认为0
  • span:返回的结构技术(start(group),end(group))
在这里插入代码片
内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
内容概要:本文档详细介绍了一个基于MATLAB实现的跨尺度注意力机制(CSA)结合Transformer编码器的多变量时间序列预测项目。项目旨在精准捕捉多尺度时间序列特征,提升多变量时间序列的预测性能,降低模型计算复杂度与训练时间,增强模型的解释性和可视化能力。通过跨尺度注意力机制,模型可以同时捕获局部细节和全局趋势,显著提升预测精度和泛化能力。文档还探讨了项目面临的挑战,如多尺度特征融合、多变量复杂依赖关系、计算资源瓶颈等问题,并提出了相应的解决方案。此外,项目模型架构包括跨尺度注意力机制模块、Transformer编码器层和输出预测层,文档最后提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,尤其是熟悉MATLAB和深度学习的科研人员、工程师和研究生。 使用场景及目标:①需要处理多变量、多尺度时间序列数据的研究和应用场景,如金融市场分析、气象预测、工业设备监控、交通流量预测等;②希望深入了解跨尺度注意力机制和Transformer编码器在时间序列预测中的应用;③希望通过MATLAB实现高效的多变量时间序列预测模型,提升预测精度和模型解释性。 其他说明:此项目不仅提供了一种新的技术路径来处理复杂的时间序列数据,还推动了多领域多变量时间序列应用的创新。文档中的代码示例和详细的模型描述有助于读者快速理解和复现该项目,促进学术和技术交流。建议读者在实践中结合自己的数据集进行调试和优化,以达到最佳的预测效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值