概述正規表示式

2021-10-07 02:21:09 字數 2327 閱讀 5458

昨天在牛客網刷試題的時候有一道關於較複雜的正規表示式,一臉懵逼,所以想著今天總結整理一下。然後在github上看了看,這篇不錯:github上關於正規表示式的介紹

(1)正規表示式是什麼

正規表示式是一組由字母和符號組成的特殊文字, 它可以用來從文字中找出滿足你想要的格式的句子.

(2)基本匹配

正規表示式其實就是在執行搜尋時的格式, 它由一些字母和數字組合而成. 例如: 乙個正規表示式 the, 它表示乙個規則: 由字母t開始,接著是h,再接著是e.

「the」 => the fat cat sat on the mat.

正規表示式是大小寫敏感的, 所以the不會匹配the.

(3)元字元

正規表示式主要依賴於元字元.

元字元不代表他們本身的字面意思, 他們都有特殊的含義. 一些元字元寫在方括號中的時候有一些特殊的意思. 以下是一些元字元的介紹:

(4)簡寫字符集

(5)前後關聯約束

前置約束和後置約束都屬於非捕獲簇(用於匹配不在匹配列表中的格式). 前置約束用於判斷所匹配的格式是否在另乙個確定的格式之後.

例如, 我們想要獲得所有跟在 $ 符號後的數字, 我們可以使用正向向後約束 (?<=$)[0-9.]*. 這個表示式匹配 $ 開頭, 之後跟著 0,1,2,3,4,5,6,7,8,9,. 這些字元可以出現大於等於 0 次.

前後關聯約束如下:

(5.1)前置約束(存在)

?=… 前置約束(存在), 表示第一部分表示式必須跟在 ?=…定義的表示式之後.

返回結果只瞞住第一部分表示式. 定義乙個前置約束(存在)要使用 (). 在括號內部使用乙個問號和等號: (?=…).

前置約束的內容寫在括號中的等號後面. 例如, 表示式 [t|t]he(?=\sfat) 匹配 the 和 the, 在括號中我們又定義了前置約束(存在) (?=\sfat) ,即 the 和 the 後面緊跟著 (空格)fat.

「[t|t]he(?=\sfat)」 => the fat cat sat on the mat.

(5.2)前置約束(排除)

前置約束-排除 ?! 用於篩選所有匹配結果, 篩選條件為 其後不跟隨著定義的格式 前置約束-排除 定義和 前置約束(存在) 一樣, 區別就是 = 替換成 ! 也就是 (?!..).

表示式 [t|t]he(?!\sfat) 匹配 the 和 the, 且其後不跟著 (空格)fat.

「[t|t]he(?!\sfat)」 => the fat cat sat on the mat.

(5.3)後置約束(存在)

後置約束-存在 記作(?<=…) 用於篩選所有匹配結果, 篩選條件為 其前跟隨著定義的格式. 例如, 表示式 (?<=[t|t]he\s)(fat|mat) 匹配 fat 和 mat, 且其前跟著 the 或 the.

「(?<=[t|t]he\s)(fat|mat)」 => the fat cat sat on the mat.

(5.4)後置約束(排除)

後置約束-排除 記作 (?「(? the cat sat on cat.

(6)標誌

標誌也叫修飾語, 因為它可以用來修改表示式的搜尋結果. 這些標誌可以任意的組合使用, 它也是整個正規表示式的一部分.

畢竟部分是複製貼上的,效果當然沒有原來寫的好,建議大家還是去寫的挺不錯的。

正規表示式概述

正規表示式,稱正規表示式 正規表示法 正規表示式 規則表示式 常 規表示法 英語 regular expression,在 中常簡寫為regex regexp或 re 是電腦科學的 個概念。正規表示式使 單個字串來描述 匹配 系列匹配某個句法規則的字串。在很多 本編輯器 正規表示式通常 被 來檢索 ...

正規表示式概述

正規表示式概述 正規表示式,稱正規表示式 正規表示法 正規表示式 規則表示式 常 規表示法 英語 regular expression,在 中常簡寫為regex regexp或 re 是電腦科學的 個概念。正規表示式使 單個字串來描述 匹配 系列匹配某個句法規則的字串。在很多 本編輯器 正規表示式通...

正規表示式概述 什麼是正規表示式

正規表示式概述 正規表示式在程式語言中存在著廣泛的應用,特別是用來處理字串。如匹配字串 查詢字串 替換字串等。可以說,正規表示式是一段文字或乙個公式,它是用來描述用某種模式去匹配一類字串的公式,並且該公式具有一定的模式。本小節將介紹正規表示式的基本概念 第乙個正規表示式,以及測試正規表示式的工具co...