正規表示式 概要

2021-07-25 19:00:39 字數 1808 閱讀 6362

大/小寫,大寫時相反的意思

\d:任意乙個數字0-9

\w:任意乙個字母數字下劃線

\s:空格、製表符、換行符

.:匹配任意乙個換行符以外的符號,若要匹配所有用[\s\s]

轉義字元:\

[2-8]: 2~8中的任意乙個數字

1.特殊符號被包含到中括號中失去特殊含義除了^,-

2.標準字元集合,除小數點外,如果被包含於中括號,自定義字元集合將包含該集合

修飾匹配次數

重複n次

至少重複m,之多重複n次

至少重複m次

? :匹配表示式0次或1次(0~1次)

+ :至少1次

* :0次或任意多次

1.只作用於前面的乙個表示式,前面的多個表示式可以用()擴在一起,表示乙個整體

2.預設貪婪模式,次數越多越好

3.非貪婪模式,在量詞後加上?

匹配的不是字元而是位置,符合某種條件的位置

^ 與字串開始的地方匹配(例:^a) 與字

符串結束

的地方匹

配(例:

b )

b 匹配乙個單詞邊界,前面的字元和後面的字元不全是\w

忽略大小寫模式:

忽略大小寫

單行模式:

整個文字看做乙個字串,只有乙個開頭和結尾。使用.(小數點)可以匹配包括換行符在內的任意字元

多行模式

使每一行都是乙個字串,每行都有開頭和結尾

如果還想獲得字串的開頭和結尾元素,可以用\a\z (例:a\a b\z)

|:

():捕獲組在被修飾匹配次數時,括號中的表示式可以作為整體被修飾。取匹配結果時,括號中的表示式匹配到的內容可以單獨得到

(?:exception):非捕獲組,不儲存()中子表示式匹配的內容,匹配後失效

每一對()會分配乙個編號,使用()的捕獲根據左括號的順序從1開始自動編號,對分組已捕獲的字串進行引用。(按左括號數計數,起始編號為1)

如:

(a\d?b)\1
是兩個ab之間有0/1的數字的結果拼接在一起:abab,a1ba1b

對位置的匹配

(?=exp):斷言自身出現的位置後面能匹配exp

(?<=exp):斷言自身出現的位置前面能匹配exp

(?!exp):斷言自身出現的位置後面不能匹配exp

(?>!exp):斷言自身出現的位置前面能匹配exp

滿足exp表示式的結果不計入總結果中。

例: ab(?=ab)

表示ab後面還有ab,即abab

例項:固定**的格式:

在國外撥打到中國的正確格式是:0086+當地區號+**號碼

在國內的撥打正確格式是:當地區號+**號碼

3位區號8位號碼或者4位區號7位號碼

正規表示式 概要

大 小寫,大寫時相反的意思 d 任意乙個數字0 9 w 任意乙個字母數字下劃線 s 空格 製表符 換行符 匹配任意乙個換行符以外的符號,若要匹配所有用 s s 轉義字元 2 8 2 8中的任意乙個數字 1.特殊符號被包含到中括號中失去特殊含義除了 2.標準字元集合,除小數點外,如果被包含於中括號,自...

正規表示式 概要

大 小寫,大寫時相反的意思 d 任意乙個數字0 9 w 任意乙個字母數字下劃線 s 空格 製表符 換行符 匹配任意乙個換行符以外的符號,若要匹配所有用 s s 轉義字元 2 8 2 8中的任意乙個數字 1.特殊符號被包含到中括號中失去特殊含義除了 2.標準字元集合,除小數點外,如果被包含於中括號,自...

正規表示式的簡明概要

1.正規表示式的簡介 1.1 正規表示式的概念1.2 正規表示式的匹配過程1.3 正規表示式的應用場景2.1 普通字元 2.2 元字元 一些無法書寫或者具有特殊功能的字元,採用在前面加斜槓 進行轉義的方法。例如下表所示 2.3 預定義匹配字符集 所謂預定義字元就是正規表示式中為我們專門用來匹配格式化...