正規表示式 基礎知識學習

2021-10-01 14:31:27 字數 1754 閱讀 1846

特點組成

元字元常用案例

正規表示式最初是科學家對人類神經系統的工作原理進行研究,目前在程式語言中得到廣泛運用

正規表示式通常被用來檢索、替換、選取那些符合某個模式(規則)的文字

正規表示式是對字串操作的一種邏輯公式,用事先定義好的一些特定字元、以及這些特定字元的組合,組成乙個"規則字串",這個"規則字串"用來表達對字串的一種過濾邏輯。

判斷給定的字串是否符合正規表示式的過濾邏輯

可以通過正規表示式,從字串中獲取需要的特定部分

正則有很強大的字串替換能力

靈活性、邏輯性和功能性非常強

運用廣。比如:爬蟲

對於剛接觸的人來說,比較繞、晦澀、難懂

『huan』、『kai』、『123』

正規表示式中有特殊意義的字元

\d 匹配數字

\w 匹配字母或數字或下劃線

常用元字元

元字元描述

\d匹配乙個數字字元。等價於[0-9]

\d匹配乙個非數字字元。等價於[^0-9]

\w匹配包括下劃線的任何單詞字元。等價於"[a-za-z0-9]"

\w匹配任何非單詞字元。等價於"[^a-za-z0-9]"

\s匹配任何空白字元,包括空格、製表符、換頁符等等。等價於[\f\n\r\t\v]

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

.匹配除"\n"之外的任何單個字元。要匹配包括"\n"在內的任何字元,使用像"(.︱\n)"的模式

^匹配輸入字串的開始位置.如果設定了regexp物件的multiline屬性,^也匹配"\n"或"\r"之後的位置

$匹配輸入字串的結束位置.如果設定了regexp物件的multiline屬性,^也匹配"\n"或"\r"之前的位置

限定符

限定符描述

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

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

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

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

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

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

其他描述

[xyz]

字元合集。匹配所有包含的任意乙個字元。例如:[abc]可以匹配plain中的a

[^xyz]

負值字元合集。匹配未包含的任意乙個字元。例如:[^abc]可以匹配plain中的p

[a-z]

字元範圍。匹配指定範圍內的任意字元。例如,[a-z]可以匹配任何在a到z範圍內的任意字元

[^a-z]

負值字元範圍。匹配任何不在指定範圍內的任意字元。例如,[^a-z]可以匹配任何不在a到z範圍內的任意小寫字母字元

()從兩個直接兩種選擇乙個分組。例如,gr(a|e)y匹配gray或者grey

使用者名稱:^[a-z0-9_-]$

密碼:^[a-z0-9_-]$

手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d$

郵編:^[1-9]\d$

驗證日期:^\d-\d-\d

正規表示式基礎知識

我們先從簡單的開始。假設你要搜尋乙個包含字元 cat 的字串,搜尋用的正規表示式就是 cat 如果搜尋對大小寫不敏感,單詞 catalog catherine sophisticated 都可以匹配。也就是說 1.1 句點符號 假設你在玩英文拼字遊戲,想要找出三個字母的單詞,而且這些單詞必須以 t ...

正規表示式基礎知識

乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。如 jscript vbscript 匹配 t t 匹配乙個空白行。d d d d 驗證乙個i...

正規表示式基礎知識

正規表示式基礎知識 正規表示式是一種可以用於模式匹配和替換的強有力的工具,乙個正規表示式就是由普通的字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式,它描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。正規表示式在字元資料處...