正規表示式知識梳理

2022-09-11 08:39:11 字數 1831 閱讀 2442

1)概述

正規表示式(regular expression)描述了一種字串匹配的模式(pattern),可以用來檢查乙個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。

正規表示式是由普通字元(例如字元 a 到 z)以及特殊字元(稱為"元字元")組成的文字模式。模式描述在搜尋文字時要匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。

2)基本符號:(都是特殊字元,要匹配字元本身,需要在前面加轉義符)

^  表示匹配字串的開始位置  (例外  用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字串)

$  表示匹配字串的結束位置

*  表示匹配 零次到多次

+  表示匹配 一次到多次 (至少有一次)

?  表示匹配零次或一次

.  表示匹配單個字元 

|  表示為或者,兩項中取一項

(  ) 小括號表示匹配括號中全部字元

[  ] 中括號表示匹配括號中乙個字元 範圍描述 如[0-9 a-z a-z]

大括號用於限定匹配次數  如 表示匹配n個字元  表示至少匹配n個字元  表示至少n,最多m

\  轉義字元 如上基本符號匹配都需要轉義字元   如 \*  表示匹配*號

\w 表示英文本母和數字  \w  非字母和數字

\d  表示數字   \d  非數字

3)非列印字元

字元   描述

\cx 匹配由x指明的控制字元。例如, \cm 匹配乙個 control-m 或回車符。x 的值必須為 a-z 或 a-z 之一。否則,將 c 視為乙個原義的 'c' 字元。

\f  匹配乙個換頁符。等價於 \x0c 和 \cl。

\n  匹配乙個換行符。等價於 \x0a 和 \cj。

\r  匹配乙個回車符。等價於 \x0d 和 \cm。

\s  匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。注意 unicode 正規表示式會匹配全形空格符。

\s  匹配任何非空白字元。等價於 [^ \f\n\r\t\v]。

\t  匹配乙個製表符。等價於 \x09 和 \ci。

\v 匹配乙個垂直製表符。等價於 \x0b 和 \ck。

4)限定符

限定符用來指定正規表示式的乙個給定元件必須要出現多少次才能滿足匹配。有 * 或 + 或 ? 或  或  或  共6種。

*  匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於。

+  匹配前面的子表示式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 。

?  匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

n 是乙個非負整數。至少匹配n 次。例如,'o' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o' 等價於 'o+'。'o' 則等價於 'o*'。

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o" 將匹配 "fooooood" 中的前三個 o。'o' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。

正規表示式知識梳理

概述 正規表示式 regular expression 描述了一種字串匹配的模式 pattern 可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串等。正規表示式是由普通字元 例如字元 a 到 z 以及特殊字元 稱為 元字元 組成的文字模式。模式描述在搜尋文字時...

正規表示式知識梳理

首先先貼個 此工具是用來幫助理解正規表示式的,在你閱讀正規表示式的時候非常有用。具有特殊含義的非字母字元。包括 如果你能一下子就說出這些符號的含義,表示正規表示式的基礎已經掌握了。用來匹配一類字元裡的乙個 表示不包括這類字元。中括號中的 表示取反的意思 中括號的裡 表示範圍的意思。匹配所有字元。d ...

正規表示式內容梳理

正規表示式是乙個描述字元模式的物件,在js中,regexp表示正則物件。正則的功能十分強大,可以大幅度簡化 正澤德功能可以匹配檢索大批量資料。切使用範圍非常廣泛 script var rel abc 建立乙個正規表示式給變數 var rel2 new regexp abc 構建函式創造正則 構建函式...