PYTHON 之 正则表达式 RE

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

正则表达式(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))
在这里插入代码片
【多变量输入超前多步预测】基于CNN-BiLSTM的光伏功率预测研究(Matlab代码实现)内容概要:本文介绍了基于CNN-BiLSTM模型的多变量输入超前多步光伏功率预测方法,并提供了Matlab代码实现。该研究结合卷积神经网络(CNN)强大的特征提取能力与双向长短期记忆网络(BiLSTM)对时间序列前后依赖关系的捕捉能力,构建了一个高效的深度学习预测模型。模型输入包含多个影响光伏发电的气象与环境变量,能够实现对未来多个时间步长的光伏功率进行精确预测,适用于复杂多变的实际应用场景。文中详细阐述了数据预处理、模型结构设计、训练流程及实验验证过程,展示了该方法相较于传统模型在预测精度和稳定性方面的优势。; 适合人群:具备一定机器学习和深度学习基础,熟悉Matlab编程,从事新能源预测、电力系统分析或相关领域研究的研发人员与高校研究生。; 使用场景及目标:①应用于光伏电站功率预测系统,提升电网调度的准确性与稳定性;②为可再生能源并网管理、能量存储规划及电力市场交易提供可靠的数据支持;③作为深度学习在时间序列多步预测中的典型案例,用于科研复现与教学参考。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注数据归一化、CNN特征提取层设计、BiLSTM时序建模及多步预测策略的实现细节,同时可尝试引入更多外部变量或优化网络结构以进一步提升预测性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值