特點組成
元字元常用案例
正規表示式最初是科學家對人類神經系統的工作原理進行研究,目前在程式語言中得到廣泛運用
正規表示式通常被用來檢索、替換、選取那些符合某個模式(規則)的文字
正規表示式是對字串操作的一種邏輯公式,用事先定義好的一些特定字元、以及這些特定字元的組合,組成乙個"規則字串",這個"規則字串"用來表達對字串的一種過濾邏輯。
判斷給定的字串是否符合正規表示式的過濾邏輯
可以通過正規表示式,從字串中獲取需要的特定部分
正則有很強大的字串替換能力
靈活性、邏輯性和功能性非常強
運用廣。比如:爬蟲
對於剛接觸的人來說,比較繞、晦澀、難懂
『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 以及特殊字元 稱為元字元 組成的文字模式,它描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。正規表示式在字元資料處...