正則表達式(2)匹配規則

正則表達式的匹配規則定義了如何識別字符串中的特定模式。這些規則包括字符類匹配、元字符匹配、數量詞、字符轉義和分組。

字符類匹配

字符類匹配允許你指定一個字符集合,并匹配該集合中的任意單個字符。這是通過方括號 [] 來實現的。

  • 簡單字符類[abc] 匹配 "a"、"b" 或 "c" 中的任意一個字符。

  • 范圍字符類[a-z] 匹配任意小寫字母,[0-9] 匹配任意數字。

  • 否定字符類[^abc] 匹配除了 "a"、"b"、"c" 之外的任意字符。

  • 多字符集合[abc123] 匹配 "a"、"b"、"c"、"1"、"2" 或 "3" 中的任意一個字符。

元字符匹配

元字符是正則表達式中具有特殊含義的字符,用于指定復雜的匹配模式。

  • .(點):匹配除換行符以外的任意單個字符。

  • ^:匹配輸入字符串的開始位置。

  • $:匹配輸入字符串的結束位置。

  • *:匹配前面的字符零次或多次。

  • +:匹配前面的字符一次或多次。

  • ?:匹配前面的字符零次或一次。

  • |:邏輯或操作符,匹配兩個表達式中的任意一個。

數量詞

數量詞指定一個字符或字符組出現的次數。

  • n*:匹配前面的字符零次或多次(n 為任意正整數)。

  • n+:匹配前面的字符一次或多次(n 為任意正整數)。

  • n?:匹配前面的字符零次或一次(n 為任意正整數)。

  • n{m}:匹配前面的字符恰好 m 次(m 為任意正整數)。

  • n{m,}:匹配前面的字符至少 m 次。

  • n{m,n}:匹配前面的字符至少 m 次,最多 n 次。

字符轉義

在正則表達式中,一些字符具有特殊含義。如果你想要匹配這些特殊字符本身,需要使用反斜杠 \ 進行轉義。

  • \d:匹配一個數字字符(等同于 [0-9])。

  • \s:匹配任何空白字符(包括空格、制表符、換頁符等)。

  • \w:匹配任何字母數字字符(等同于 [a-zA-Z0-9_])。

  • \n:匹配換行符。

  • \.:匹配點字符(.)。

分組

分組允許你將多個字符視為一個整體進行匹配和操作。

  • 捕獲組(...) 將括號內的內容視為一個整體進行匹配,并且可以被后續引用。

  • 非捕獲組(?:...) 將括號內的內容視為一個整體進行匹配,但不捕獲匹配的內容。

  • 選擇組(a|b) 匹配 "a" 或 "b"。

  • 反向引用\1 引用第一個捕獲組匹配的內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/897188.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/897188.shtml
英文地址,請注明出處:http://en.pswp.cn/news/897188.shtml

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

相關文章

【QWEN】機器人控制器的控制周期越短精度越高嗎

好的,用戶問的是“機器人控制器的控制周期越短精度越高嗎”。我需要根據提供的知識庫內容來回答這個問題。首先,我得回憶一下知識庫里的相關信息。 知識庫里有幾篇相關的文章。比如,[3]提到控制周期越短,控制性能的上限越高&…

[總概]Vue2/3React Diff算法

根據搜索結果,大部分文檔都詳細描述了Vue的Diff算法原理、優化策略以及實現細節。例如,網頁1詳細介紹了Vue Diff算法的核心設計,包括雙端比較和key的作用;Vue3中的快速Diff算法; 通常,解釋一個算法可以從其基本原理、核心策略、優化手段、源碼實現以及應用場景等方面展開…

【MySQL_03】數據庫基本--核心概念

文章目錄 一、數據庫基礎1.1 數據庫基礎定義1.2 數據庫分類與典型產品1.3 數據庫模型1.4 數據庫層次結構1.5 數據庫核心機制1.6 數據表和視圖1.61 數據表(Table)1.62 視圖(View) 1.7 鍵類型1.8 MySQL數據類型1.9 數據庫范式化 二、…

FreeRTOS第16篇:FreeRTOS鏈表實現細節04_為什么FreeRTOS選擇“侵入式鏈表”

文/指尖動聽知識庫-星愿 文章為付費內容,商業行為,禁止私自轉載及抄襲,違者必究!!! 文章專欄:深入FreeRTOS內核:從原理到實戰的嵌入式開發指南 1 傳統鏈表 vs. 侵入式鏈表 在嵌入式系統中,內存和性能的優化至關重要。FreeRTOS選擇侵入式鏈表而非傳統鏈表,其背后是內…

STM32讀寫片內FLASH 筆記

文章目錄 前言STM32F105的內部ROM分布STM32F10x的閃存擦寫解鎖FPECMain FLASH 的編寫 main Flash的擦除注意點 前言 在通過OTA的方式對設備進行升級,若在使用內部FLASH裝載固件程序的方式下,需要擦寫 內部FLASH 從而實現把新的固件程序寫入到 內部FLASH…

Python爬蟲實戰:爬取財金網實時財經信息

注意:以下內容僅供技術研究,請遵守目標網站的robots.txt規定,控制請求頻率避免對目標服務器造成過大壓力! 一、引言 在當今數字化時代,互聯網數據呈爆炸式增長,其中蘊含著巨大的商業價值、研究價值和社會價值。從金融市場動態分析到行業趨勢研究,從輿情監測到學術信息收…

3.3.2 用仿真圖實現點燈效果

文章目錄 文章介紹Keil生成.hex代碼Proteus仿真圖中導入.hex代碼文件開始仿真 文章介紹 點燈之前需要準備好仿真圖keil代碼 仿真圖參考前文:3.3.2 Proteus第一個仿真圖 keil安裝參考前文:3.1.2 Keil4安裝教程 keil新建第一個項目參考前文:3.1…

996引擎-問題處理:實現自定義道具變身卡

996引擎-問題處理:實現自定義道具變身卡 方案一、修改角色外觀(武器、衣服、特效) 實現變身先看效果創建個NPC測試效果方案二、利用 Buff 實現變身創建:變身Buff配buff表,實現人物變形測試NPC創建道具:變身卡配item表,添加道具:變身卡觸發函數參考資料方案一、修改角色外…

AI視頻領域的DeepSeek—阿里萬相2.1圖生視頻

讓我們一同深入探索萬相 2.1 ,本文不僅介紹其文生圖和文生視頻的使用秘籍,還將手把手教你如何利用它實現圖生視頻。 如下為生成的視頻效果(我錄制的GIF動圖) 如下為輸入的圖片 目錄 1.阿里巴巴全面開源旗下視頻生成模型萬相2.1模…

驅動 AI 邊緣計算新時代!高性能 i.MX 95 應用平臺引領未來

智慧浪潮崛起:AI與邊緣計算的時代 正悄然深植于我們的日常生活之中,無論是火熱的 ChatGPT 與 DeepSeek 語言模型,亦或是 Meta 智能眼鏡,AI 技術已經無形地影響著我們的生活。這股變革浪潮并未停歇,而是進一步催生了更高…

如何快速判斷IP是否為代理

1.探究IP地址的地理分布 代理IP的所在位置,往往與用戶實際所在地不吻合。可以通過運用WHOIS查詢工具或在線IP地址定位服務,輸入所需查詢的IP,即可獲得其地理位置信息。 若該信息顯示的位置并非用戶所在城市或顯示為知名代理服務器節點&…

從CL1看生物計算機的創新突破與發展前景:技術、應用與挑戰的多維度剖析

一、引言 1.1 研究背景與意義 隨著科技的飛速發展,計算機技術已經成為推動現代社會進步的核心力量之一。從最初的電子管計算機到如今的大規模集成電路計算機,計算機的性能得到了極大的提升,應用領域也不斷拓展。然而,傳統計算機…

AI革命先鋒:DeepSeek與藍耘通義萬相2.1的無縫融合引領行業智能化變革

云邊有個稻草人-CSDN博客 目錄 引言 一、什么是DeepSeek? 1.1 DeepSeek平臺概述 1.2 DeepSeek的核心功能與技術 二、藍耘通義萬相2.1概述 2.1 藍耘科技簡介 2.2 藍耘通義萬相2.1的功能與優勢 1. 全鏈條智能化解決方案 2. 強大的數據處理能力 3. 高效的模型…

zabbix圖表中文顯示方框

問題: zabbix安裝完成后,查看圖形,下方中文顯示為方框 思路: 替換字體文件,或者修改配置文件指向中文可以正常顯示的字體文件 方案: 查找資料確認影響因素 通過資料查詢得知,使用的字體文…

【Linux-網絡】HTTP的清風與HTTPS的密語

🎬 個人主頁:誰在夜里看海. 📖 個人專欄:《C系列》《Linux系列》《算法系列》 ?? 道阻且長,行則將至 目錄 📚 引言 📚 一、HTTP 📖 1.概述 📖 2.URL &#x1f5…

通過數據庫網格架構構建現代分布式數據系統

在當今微服務驅動的世界中,企業在跨分布式系統管理數據方面面臨著越來越多的挑戰。數據庫網格架構已成為應對這些挑戰的強大解決方案,它提供了一種與現代應用架構相匹配的分散式數據管理方法。本文將探討數據庫網格架構的工作原理,以及如何使…

RangeError: Radix must be an integer between 2 and 36

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

荊為好的專欄推薦

🤟致敬讀者 🟩感謝閱讀🟦笑口常開🟪生日快樂?早點下班 📘博主相關 🟧博主信息🟨博客首頁🟫專欄推薦🟥活動信息 文章目錄 專欄推薦特別篇1. 后端專欄推薦2. 云原生專欄…

Bean 的生命周期主要包括以下階段:

Bean 的生命周期主要包括以下階段: 定義 :在配置文件或注解中定義 Bean,包括其類、作用域等信息。 實例化 :Spring 容器根據定義創建 Bean 的實例。 屬性賦值 :容器為 Bean 設置配置的屬性值。 初始化 :…

計算機基礎:二進制基礎06,用八進制來計數

專欄導航 本節文章分別屬于《Win32 學習筆記》和《MFC 學習筆記》兩個專欄,故劃分為兩個專欄導航。讀者可以自行選擇前往哪個專欄。 (一)WIn32 專欄導航 上一篇:計算機基礎:二進制基礎05,八進制簡介 回…