我的正規表示式學習筆記

2021-07-06 09:09:08 字數 2154 閱讀 3621

正規表示式是使用單個字串來描述、匹配一系列符合某個句法規則的字串。

在很多文字編輯器中,正規表示式通常被用來檢索、替換符合某個模式的文字。

前端中正規表示式有很多應用如:

- 驗證郵箱,

- 身份證號,

- 密碼強度

- qq號碼

內容形式

含義示例

n?指定字元出現0次或1次

n*指定字元出現0次或多次

n+指定字元出現1到多次

n指定出現的確切字數hn

指定出現的次數》=x且<=yabn

指定出現的次數》=x

[abcd]

匹配多個之一

[^abcd]

不允許出現多個之一

[0-9]

相當於[0123456789]

[a-z]

匹配任意乙個小寫字母

[a-z]

匹配任意乙個大寫字母

[a-z]

匹配任意大小寫字母,以及[ \ ] ^ _ `

[a-za-z]

匹配任意乙個大小寫字母

表示式1|表示式2

匹配兩個表示式其中之一

注意:只匹配乙個字元;而|匹配是乙個完整的表示式

(表示式)

使用()建立乙個子表示式/表示式小分組。注意:每個()建立的分組會自動分配乙個從1開始的編號,在正規表示式中想引用某個分組的值使用「\編號」,在正規表示式的外部想引用某個分組的值使用「$編號」

/(ab)(cd)(ef)/分組ab的編號為1,分組ef的編號為3

\d匹配任意乙個數字(decimal)

/\d/ <=> /[0-9]/

\d匹配任意乙個非數字字元

/\d/ <=> /[^0-9]/

\w匹配任意乙個單詞字元(word),如大小寫字母、數字、_

/\w/ <=> /[a-za-z0-9_]/

\w匹配任意乙個非單詞字元

/\w/ <=> /[^a-za-z0-9_]/

\s匹配任意個空白字元(space)

/\s/ <=> /[ \n\t\r]/

\s匹配任意個非空白字元

/\s/ <=> /[^ \n\t\r]/

.匹配除了換行和回車之外的任意乙個字元

/./ <=> /[^\n\r]/

上面的匹配符都是「字元匹配符」

下面的匹配符都是「位置匹配符」,匹配字串中的特定位置

內容形式

含義示例

^匹配字串的開頭

/^a/

$匹配字串的結尾

/a$/

\b匹配單詞的邊界(boundary)

/\bis\b/

\b匹配非單詞邊界

/\bis\b/

?=x匹配後面緊跟指定字元x的字串,注意:匹配的結果中不包x

/do(?=not)/

?!x匹配後面沒有緊跟指定字元x

/do(?!not)/

正規表示式的定義:

- (1)var patt1 = /表示式/特性;

- (2)var patt2 = new regexp(『表示式』, 『特性』);

正規表示式的使用:

- (1) patt.test( str ); //用正規表示式物件檢索字串物件

- (2) str.replace( patt ); //呼叫string的方法,把正規表示式物件作引數

正規表示式中的特性修飾符:

var regexp = /表示式/特性修飾符 ;

特性修飾符可以取下列的乙個或多個:

(1)iignorecase,匹配時忽略大小寫

(2)gglobal,全域性匹配,預設情況下所有的匹配僅進行一次;若宣告了全域性匹配,則可以把所有的匹配情形全部找出來

(3)mmultiline,執行多行匹配,m只對^和位置

匹配符有

影響,默

認情況下

,不執行

多行匹配

,即預設

情況下:

只匹配字

符串的開

頭;只匹配字串的結尾

若宣告了m: ^可以匹配每一行的開頭;$匹配每一行的結尾

我的正規表示式筆記

匹配 任意字元,任意長度 替換 name new formentity 規則名稱 rulename detail new formentity 規則描述 ruledec 成 name detail 正規表示式為 new formentity 示例2 正規表示式為 將 前面的 都替換掉。正規表示式為 ...

正規表示式學習筆記

正規表示式學習日記 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 之後的位置。匹配輸入字串的結束...