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.pswp.cn/pingmian/90018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90018.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT窗口(3)-狀態欄

QT窗口&#xff08;3&#xff09;-狀態欄 狀態欄 代碼如下&#xff1a;//存在就獲取&#xff0c;不存在就創建QStatusBar*statusBarthis->statusBar();this->setStatusBar(statusBar);//顯示一個臨時消息statusBar->showMessage("這是一個狀態消息");運行結…

更具個性的域名:解鎖互聯網多元價值的鑰匙

關于Dynadot Dynadot是通過ICANN認證的域名注冊商&#xff0c;自2002年成立以來&#xff0c;服務于全球108個國家和地區的客戶&#xff0c;為數以萬計的客戶提供簡潔&#xff0c;優惠&#xff0c;安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引&#xff08;包括域名郵…

深度學習模塊實踐手冊(第十一期)

46、縮放點積注意力模塊論文《Attention Is All You Need》1、作用&#xff1a; 縮放點積注意力&#xff08;Scaled Dot-Product Attention&#xff09;是 Transformer 模型的核心組件&#xff0c;旨在解決序列建模中長距離依賴關系捕捉的問題。傳統的循環神經網絡&#xff08;…

C++高級技術詳解

C高級技術詳解 目錄 模板 (Templates)右值和移動語義 (Rvalue and Move Semantics)定位 new (Placement new)強類型 (Strong Types)智能指針 (Smart Pointers)容器和算法 (Containers and Algorithms)Lambda表達式常量表達式 (constexpr)多線程和并發 (Multithreading and Co…

跨境賣家緊急自查,Endryko Karmadi四季版畫版權維權

25年7月2日&#xff0c;Keith律所代理印尼藝術家Endryko Karmadi發起全新版權維權行動。案件基本情況&#xff1a;起訴時間&#xff1a;2025-7-2案件號&#xff1a;25-cv-07436品牌&#xff1a;Endryko Karmadi Work原告&#xff1a;Endryko Karmadi 原告律所&#xff1a;keith…

M3088NL是一款網絡濾波器/變壓器支持100M和1000M網絡環境,適用于高速網絡傳輸場景M3088

M3088NL是一款網絡濾波器/變壓器&#xff0c;主要特點如下&#xff1a;兼容性 支持100M和1000M網絡環境&#xff0c;適用于高速網絡傳輸場景。 ?封裝形式 采用SOP/SOIC封裝&#xff0c;便于電路集成。 ?應用場景 常用于網絡電話、開關電源等需要穩定電流的設備&#xff0c;符…

PyQt動態布局管理器:QSplitter詳細指南

PyQt動態布局管理器&#xff1a;QSplitter詳細指南 QSplitter簡介 在PyQt中&#xff0c;除了常見的QVBoxLayout、QHBoxLayout等靜態布局管理器外&#xff0c;QSplitter提供了一種動態布局解決方案。QSplitter允許用戶通過拖拽分隔條來實時調整控件大小&#xff0c;為應用程序提…

Java設計模式之行為型模式(備忘錄模式)實現方式詳解

最近看到一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站 一、基礎實現結構 角色定義與代碼骨架 備忘錄模式包含三個核心角色&#xff0c;其協作關系如下&#xff1a; Originator&#xff08;發起人&…

k8s:離線部署tomcatV11.0.9,報Cannot find /opt/bitnami/tomcat/bin/setclasspath.sh

本文記錄了在離線環境下部署Tomcat容器時遇到的權限問題及解決方案。在Docker環境中運行Tomcat時出現&quot;找不到setclasspath.sh&quot;錯誤&#xff0c;通過添加--security-opt seccompunconfined參數解決。在Kubernetes環境中部署時出現相同問題&#xff0c;通過設置…

Linux操作系統之線程(五):線程封裝

目錄 前言 一、線程ID及進程地址空間布局 二、線程棧與線程局部存儲 三、線程封裝 總結&#xff1a; 前言 我們在上篇文章著重給大家說了一下線程的控制的有關知識。 但是如果我們要使用線程&#xff0c;就得那這pthread_create接口直接用嗎&#xff1f;這樣豈不是太過麻…

【物理與機器學習】從非平衡熱力學到擴散模型

[toc] 0.引子:從非平衡熱力學開始 1.架構簡介 2.反向過程的具體推導與 DDPM 改進摘要&#xff1a;擴散模型將非平衡熱力學的“噪聲注入—去噪逆轉”理念注入生成建模中。DDPM&#xff08;Denoising Diffusion Probabilistic Models&#xff09;在 SD2015 的基礎上&#xff0c;通…

Git常用命令詳解:從入門到精通

前言 Git作為當今最流行的分布式版本控制系統&#xff0c;已經成為開發者必備的技能之一。無論你是獨立開發者還是團隊協作&#xff0c;掌握Git的基本操作都能極大提高工作效率。本文將詳細介紹Git的常用命令&#xff0c;幫助你快速上手并精通Git的基本使用。 一、Git基礎概念…

Vue-22-通過flask接口提供的數據使用plotly.js繪圖(一)

文章目錄 1 任務背景 2 Flask提供接口(server.py) 2.1 原始代碼 2.2 跨域問題 3 Vue3獲取數據并渲染Plotly圖表 3.1 新建工程 3.2 程序 3.2.1 index.html(入口) 3.2.2 cpmponents/Plot.vue(子組件) 3.2.3 App.vue(父組件) 3.2.4 main.ts 3.3 展示 4 選擇圖表類型繪圖 4.1 App.v…

【mysql】換主鍵

需求&#xff1a;曲庫表的主鍵錯了&#xff0c;原先設置的是(sang_id),應該設置為&#xff08;sang_name,singer&#xff09;聯合主鍵。-- &#xff08;0&#xff09;先備份數據&#xff0c;我這里沒備份 -- &#xff08;1&#xff09;進行主鍵的切換之前&#xff0c;要進行一些…

Redis原理之緩存

上篇文章&#xff1a; Redis原理之集群https://blog.csdn.net/sniper_fandc/article/details/149141342?fromshareblogdetail&sharetypeblogdetail&sharerId149141342&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 Redis作為MySQL…

關于集合的底層數據結構

單列集合Collection分為list集合和set集合list集合分為ArrayList和LinkedListArrayList--底層數據結構是數組1.通過索引查詢快2.增刪要重構索引,增刪慢 LinkedList--底層數據結構是鏈表1.無索引查詢慢2.通過改變前節點的尾指針和后節點的前指針指向可快速增刪,增刪快set集合(…

批量插入技巧:減少事務提交次數的性能提升

一、事務提交成本分析每次事務提交觸發?磁盤I/O同步?&#xff08;WAL機制&#xff09;、?日志寫入?和?鎖資源釋放?操作&#xff0c;高頻獨立提交會產生指數級開銷?。實驗表明&#xff1a;MySQL提交1萬次單條插入比單次批量插入?慢20倍以上??。高頻提交還加劇鎖競爭與…

importlib.import_module() 的用法與實戰案例

&#x1f31f; 一、什么是 importlib&#xff1f; importlib 是 Python 的一個內置標準庫&#xff0c;用于在程序運行時 動態導入模塊。 &#x1f524; 對比&#xff1a;普通 import vs importlib方式示例特點靜態導入import os編寫代碼時就確定要導入的模塊動態導入importlib.…

Oracle 12c 創建數據庫初級教程

1. 連接到Oracle sqlplus / as sysdba Oracle數據庫名稱默認為ORCL或sqlplus /ORCL as sysdba Oracle數據庫名稱默認為ORCL2. 創建表空間&#xff08;數據庫&#xff09; create user YOUR_USERNAME identified by "YOUR_PASSWORD"; YOUR_USERNAME為數據庫名稱和登…

zabbix服務器告警處理

zabbix服務器告警&#xff0c;信息為&#xff1a;Utilization of poller processes over 75%處理辦法為修改zabbix_server.conf配置文件&#xff0c;一般情況下為/etc/zabbix目錄下。根據自己輪詢器的類型修改對應的輪詢器的數量&#xff1b;我這里把StartPollers&#xff0c;S…