通俗易懂正規表示式小結

2021-10-08 06:32:54 字數 2605 閱讀 8569

普通字元:

字母,數字,漢字,下劃線以及沒有特殊定義的標點符號,都是普通字元,表示式中的普通字元,在匹配乙個字串的時候,匹配與之對應的乙個字元

轉義字元:

\n換行

\t製表符

字元本身\ ,^ , $ , ( , ) , ? , + , * , | , [ , ] , . 等等 表示匹配,^,$,(,),?,+等等

\d任意0-9中乙個數字,注意只匹配乙個字元,大寫表示相反,如\d的匹配全部非數字字元

\w匹配大小寫字母,下劃線,0-9數字,注意只匹配其中乙個字元,大寫表示相反,如 \w 表示匹配非字母,非下劃線,非數字所有字元

\s匹配空格,製表符,換行等空白字元其中乙個,注意只匹配其中乙個字元,大寫表示相反,如 \s 表示匹配非空白的所有字元

.(點號)匹配除了換行符外的任意字元,如果要包括換行則使用[\s\s],這裡\s和\s是或的關係

自定義字元集合

[ab1@]表示匹配a或b或1或@

[^abc]表示匹配除了a,b,c之外的所有字元

[1-5a-n]表示匹配在1-5之間以及a-n之間的字元

[^a-f0-3]表示匹配除了在a-f,0-3之間的所有字元

[\d\d\d]出現了3個"\d"表示以3個數字為單位進行匹配,少於3個數字的會匹配不上,等同於\d和(\d\d\d)

除了^和-之外,其他 . 或 + 或 $ 等有特殊含義的字元寫在方括號內將失去特殊意義,單純表示該字元 ,如果要在方括號中匹配 - 和 ^ 可以使用 - 和 ^

量詞

表示前面的表示式匹配的字元出現n次 (n次指的是表示式匹配到的字元長度為n)

表示前面表示式匹配的字元至少n次,至多m次,如\d將會匹配所有的兩位數字和所有的三位數字

表示前面的表示式匹配的字元至少出現n次,如\d表示匹配的數字當中長度至少要3位才會被匹配到

?表示 ? 前面的表示式將會匹配0次或1次,相當於

+表示 + 前面的表示式將會匹配至少1次,相當於

*表示 * 前表示式匹配0次或者任意次,相當於

關於有2種模式

貪心模式 :匹配的字元越多越好,預設就是貪婪模式如 \d表示按3個或者6個數字為單位進行匹配

非貪心模式 :匹配字元越少越好,一般和 ? 一起用,如\d?表示按3個數字為單位進行匹配

字元邊界選擇符和分組

|表示"或"的關係,意思是匹配 | 左邊或右邊的字元如 [0-9] | [a-z] 表示匹配數字或小寫字母

()捕獲組,即括號內的表示式作為一整體,每個括號都有編號,預設從1開始,取結果時用反向引用,比如\1獲得第乙個匹配結果,\2獲得第二個匹配結果

(?:exp)非捕獲組, 與捕獲組不同在於非捕獲組只捕獲而不儲存捕獲結果,節省記憶體,因為沒儲存所以通過\n是取不到內容的

\n表示反向引用第n組匹配結果, 如字串"baba,mama,bama" ,要匹配baba和mama先使用([a-z])匹配到ba和ma,然後通過\1重複引用每個匹配結果結果的第一組匹配字元,也就是ba和ma,所以 \1 引用的也是ba和ma,所以([a-z])\1能取出baba和mama這2個這樣的字元

預搜尋(環視)

(?=exp)斷言位置的後面能匹配出符合expression表示式的內容,如[a-z]+(?=ing)則會匹配所有以ing結尾的詞,雖然找到了這些詞,但是匹配結果只是這些詞ing的前的那一部分,如eating只匹配出eat,也就是說ing是輔助搜尋的, 簡單來說就是[a-z]+表示式的後面字元要滿足(?=ing)這個條件,只是只要[a-z]+匹配的字元而不是含ing的字元

(?!exp)斷言需要尋找的字串後面要滿足 exp 這個表示式,比如[a-z]+(?!\d+)表示匹配的單詞後面不能帶數字

(?<=exp)斷言需要尋找的字串前面要滿足 exp 這個表示式,比如[a-z]+(?<=\d+)表示匹配的單詞前面要帶至少1個數字

(?斷言需要尋找的字串前面要滿足 exp 這個表示式,比如[a-z]+(?

C 正規表示式(通俗易懂)

正規表示式有多重要,話不多說,直接入正題把。首先我們來說說元字元。1 點號代表除了換行意外的任意單個字元 例如 a.b 說明a和b之間只能有任意乙個字元。2 代表從這裡面取出任意乙個字元 例如 a xyz b 符合的有 axb ayb azb 3 這個是取反 例如 a xyz b 自己想想 下面來說...

Lambda表示式全面了解 通俗易懂

lambda是乙個表示式,也可以說它是乙個匿名函式,然而在使用它或是閱讀lambda 的時候,卻顯得並不那麼容易,因為它匿名,刪減了一些必要的說明資訊 比如方法名 所有的lambda表示式都是用新的lambda運算子 可以叫他,轉到 或者 成為 運算子將表示式分為兩部分,左邊指定輸入引數,右邊是為計...

fei 正規表示式 正規表示式小結

常用的元字元常用的反義 常用的限定符 語法 說明 語法 說明 語法 說明 w 匹配字母或數字或下劃線或漢字 w匹配任意不是字母 數字 下劃線 漢字的字元 重複零次或者更多次 s匹配任意的空白字元 s匹配任意不是空白符的字元 重複一次或更多次 d匹配數字 d匹配任意非數字的字元 重複零次或一次 b匹配...