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

QuecPython-正则表达式

该模块通过正则表达式匹配数据。

目前支持的操作符较少,部分操作符暂不支持。

示例:

import ureres = '''
$GNRMC,133648.00,A,3149.2969,N,11706.9027,E,0.055,,311020,,,A,V*18
$GNGGA,133648.00,3149.2969,N,11706.9027,E,1,24,1.03,88.9,M,,M,,*6C
$GNGLL,3149.2969,N,11706.9027,E,133648.00,A,A*7A
$GNGSA,A,3,31,26,11,194,27,195,08,09,03,193,04,16,1.41,1.03,0.97,1*31
'''r = ure.search("GNGGA(.+?)M", res)
print(r.group(0))

编译并生成正则表达式对象

ure.compile

ure.compile(regex)

用于编译正则表达式,生成一个正则表达式对象,供 match() 和 search() 这两个函数使用。

参数描述:

  • regex - 正则表达式,字符串类型。

匹配

ure.match

ure.match(regex, string)

将正则表达式对象 与 string 匹配,匹配通常从字符串的起始位置进行。

参数描述:

  • regex - 正则表达式,字符串类型。

  • string - 需要匹配的字符串数据。

返回值描述:

  • 匹配成功返回一个匹配的对象,否则返回None。

查找

ure.search

ure.search(regex, string)

扫描整个字符串并返回第一个成功的匹配。

参数描述:

  • regex - 正则表达式,字符串类型。

  • string - 需要查找的字符串数据。

返回值描述:

  • 匹配成功返回一个匹配的对象,否则返回None。

匹配单个字符串

match.group

match.group(index)

匹配 match() 和 serach() 方法返回的对象。

参数描述:

  • index - 整型,正则表达式中,group()用来提出分组截获的字符串, index=0返回整体,根据编写的正则表达式进行获取,当分组不存在时会抛出异常。

返回值描述:

  • 返回匹配的整个表达式的字符串。

常量

支持的操作符

  • ‘.’ - 字符类型,匹配任意字符。

  • ‘[]’ - 字符类型,匹配字符集合,支持单个字符和一个范围,包括负集。

  • ‘^’ - 字符类型,匹配字符串的开头。

  • ‘$’ - 字符类型,匹配字符串的结尾。

  • ‘?’ - 字符类型,匹配零个或前面的子模式之一。

  • ‘*’ - 字符类型,匹配零个或多个先前的子模式。

  • ‘+’ - 字符类型,匹配一个或多个先前的子模式。

  • ‘??’ - 字符类型,非贪婪版本的 ? ,匹配0或1。

  • ‘*?’ - 字符类型,非贪婪版本的*,匹配零个或多个。

  • ‘+?’ - 字符类型,非贪婪版本的+,匹配一个或多个。

  • ‘\|’ - 字符类型,匹配该操作符的左侧子模式或右侧子模式。

  • ‘\d’ - 字符类型,数字匹配。

  • ‘\D’ - 字符类型,非数字匹配。

  • ‘\s’ - 字符类型,匹配空格。

  • ‘\S’ - 字符类型,匹配非空格。

  • ‘\w’ - 字符类型,匹配”单词字符” (仅限ASCII)。

  • ‘\W’ - 字符类型,匹配非“单词字符”(仅限ASCII)。

不支持的操作符

  • ‘{m,n}’ - 重复次数。

  • ‘(?P<name>...)’ - 命名组。

  • ‘(?:...)’ - 非捕获组。

  • ‘\b’ - 更高级的断言。

  • ‘\B’ - 更高级的断言。

  • ‘\r’ - 特殊字符转义,改用Python自己的转义。

  • ‘\n’ - 特殊字符转义,改用Python自己的转义

http://www.xdnf.cn/news/1149823.html

相关文章:

  • 研华PCI-1285/1285E 系列------(一概述)
  • LVS(Linux virtual server)-实现四层负载均衡
  • Spring Boot 与微服务详细总结
  • 软件测试理论02—测试流程体系
  • 云端成本治理利器:亚马逊云科技智能仪表盘(AWS Cost Intelligence Dashboard)深度解析
  • 练习三:熟知前端知识
  • Django3 - Web前端开发基础 HTML、CSS和JavaScript
  • web.m3u8流媒体视频处理
  • 服装公司生产管理系统,如何实战提升生产效率?
  • 张量交换维度(转置),其实是交换了元素的排列顺序
  • 如何实现电脑自动关机与定时任务管理
  • ABP VNext + Temporal:分布式工作流与 Saga
  • react+antd 可拖拽模态框组件
  • 尚庭公寓-----day2 业务功能实现
  • 物联网系统中的可视化大屏定义
  • 华为仓颉编程语言语法简介与示例
  • React 的 `cache()` 函数
  • 医疗AI与融合数据库的整合:挑战、架构与未来展望(下)
  • Java行为型模式---状态模式
  • 6-大语言模型—预训练:数据处理
  • SpringBoot项目部署至云服务器
  • simulink系列之汽车应用层信号处理
  • Django母婴商城项目实践(九)- 商品列表页模块
  • LVS的简介以及架构
  • Entity Component System架构
  • 【项目分享】动手做一个TypeC转TTL模块(附带原理图)
  • 加法速算之尾数法
  • Windows11下编译好的opencv4.8-mingw,可下载后直接用
  • java: DDD using sql server 2019 or Oracle21c
  • Linux 密码生成利器:pwgen 命令详解