正規表示式學習筆記

2021-08-25 12:24:50 字數 3040 閱讀 4545

表1.常用的元字元

**

說明.

匹配除換行符以外的任意字元 \w

匹配字母或數字或下劃線或漢字 \s

匹配任意的空白符 \d

匹配數字 \b

匹配單詞的開始或結束 ^

匹配字串的開始 $

匹配字串的結束 1

.\b -----

代表著單詞的開頭或結尾 例:

hi後面不遠處跟著乙個

lucy

,你應該用

\bhi\b.*\blucy\b。2

.\d------

匹配乙個數字

例: 0\d-\d 

\d必須連續重複匹配2次

(8次)

3.. ------------

匹配除了換行符以外的任意字元

4.\s -------------

匹配任意的空白符,包括空格,製表符

(tab)

,換行符,中文全形空格等 5

.\w -------------

字母或數字或下劃線或漢字 6

表2.常用的限定符

**/語法

說明*

重複零次或更多次 +

重複一次或更多次 ?

重複零次或一次

重複n次

重複n次或更多次

重複n到m次

7.。^-------

匹配你要用來查詢的字串的開頭,

$-----

匹配結尾

要求你填寫的

qq號必須為5位到

12位數字時,可以使用:

^\d$

8.[0-9]

0-9之間的乙個數字

[a-z0-9a-z_]

a-z 0-9 a-z

之間任意乙個字元

9.| ---

表示(或)

0\d-\d|0\d-\d

這個表示式能匹配兩種以連字型大小分隔的**號碼:一種是三位區號,

8位本地號(如

010-12345678)

,一種是

4位區號,

7位本地號

(0376-2233445)。

10.()----

分組 (\d\.)\d

是乙個簡單的

ip位址匹配

表示式。要理解這個表示式,請按下列順序分析它:

\d匹配1到

3位的數字

,(\d\.)

匹配三位數字加上乙個英文句號

(這個整體也就是這個

分組)重複3

次,最後再加上乙個一到三位的數字

(\d)。

11.

表3.常用的反義**

**/語法

說明\w

匹配任意不是字母,數字,下劃線,漢字的字元 \s

匹配任意不是空白符的字元 \d

匹配任意非數字的字元 \b

匹配不是單詞開頭或結束的位置

[^x]

匹配除了x以外的任意字元

[^aeiou]

匹配除了aeiou這幾個字母以外的任意字元

12.

表4.常用分組語法

分類

**/語法

說明

捕獲

(exp)

匹配exp,並捕獲文字到自動命名的組裡

(?exp)

匹配exp,並捕獲文字到名稱為name的組裡,也可以寫成(?'name'exp)

(?:exp)

匹配exp,不捕獲匹配的文字,也不給此分組分配組號

零寬斷言

(?=exp)

匹配exp前面的位置

(?<=exp)

匹配exp後面的位置

(?!exp)

匹配後面跟的不是exp的位置 (?

匹配前面不是exp的位置

注釋

(?#comment)

這種型別的分組不對正規表示式的處理產生任何影響,用於提供注釋讓人閱讀

\b(\w+)\b\s+\1\b

可以用來匹配重複的單詞

,像go go

, 或者

kitty kitty

。這個表示式首先是乙個單詞

,也就是單詞開始處和結束處之間的多於乙個的字母或數字

(\b(\w+)\b

),這個單詞會**獲到編號為

1的分組中,然後是

1個或幾個空白符

(\s+

),最後是分組

1中捕獲的內容(也就是前面匹配的那個單詞)

(\1)

。你也可以自己指定子表示式的組名。要指定乙個子表示式的組名,請使用這樣的語法:

(?\w+)

(或者把尖括號換成

'也行:

(?'word'\w+)

),這樣就把

\w+的組名指定為

word

了。要反向引用這個分組捕獲的內容,你可以使用\k,

\b(?\w+)\b\s+\k\b。

13.表5.懶惰限定符

**/語法

說明*?

重複任意次,但盡可能少重複 +?

重複1次或更多次,但盡可能少重複 ??

重複0次或1次,但盡可能少重複 ?

重複n到m次,但盡可能少重複 ?

重複n次以上,但盡可能少重複

正規表示式學習筆記

正規表示式學習日記 1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫...

正規表示式學習筆記

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

正規表示式學習筆記

1.正規表示式是可用於在乙個檔案或字元裡查詢和替代文字的一種標準。它具有兩種標準 基本的正規表示式 bre 擴充套件的正規表示式 ere ere包括bre功能和另外其它的概念。2.表示或運算 3.匹配任何單個字元 4.匹配任何中包含的單個字元,如 張王李 三,匹配張 三 王三,李三 5.將排除 後跟...