正規表示式

2021-10-24 12:20:54 字數 2559 閱讀 8739

定義:描述了一種字串的匹配模式

作用:1. 檢查乙個串是否含有某種子串;2. 將匹配的子串替換;3. 從某個串中取出符合某個條件的子串

語法:

// 1. 通過new regexp() 方法建立乙個正則

// 2. 通過test() 方法檢測是否符合要求 符合返回true 否則返回false

let reg =

newregexp

(/taylor+/);

let val =

"taylor songs"

;console.

log(reg.

test

(val));

// true

普通字元

字元描述

[abc]

匹配字串中是否存在[…]的內容,對大小寫敏感,例如:let reg = new regexp(/[『taylor』]/g); let val = 「taylor songs」; console.log(reg.test(val)); // true [ taylor]

[^abc]

匹配字串中除了[…]中字元的所有字元,對大小寫敏感,例如:let reg = new regexp(/[』^taylor ']/g); let val = 「taylor songs」; console.log(reg.test(val)); // true [ songs]

[ a-z]

表示乙個區間,匹配字串中在區間之內的所有字元(a-z表示小寫,a-z表示大寫),例如:let reg = new regexp(/[a-x]/g); let val = 「taylor songs」;console.log(reg.test(val)); // false 若將正則改為/[a-x]/g 則可以匹配上

[^\n\r]

匹配除了換行符之外的所有字元,等價於/./g

[\s\s]

匹配所有 \s是匹配所有空白符 \s是匹配所有非空白符包括換行

[\w]

匹配字母,數字,下劃線,等價於[a-za-z0-9_]

[\w]

匹配非字母,數字,下劃線,等價於[^a-za-z0-9]

總結:在中括號中有^表示取反

元字元字元描述

\n匹配乙個換行符

\r匹配乙個回車符

\s匹配任何空白符, 包括空格,製表符,換頁符

\s匹配任何非空白符

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

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

特殊字元

如要匹配特殊字元,首先需要使字元轉義,即將反斜槓字元 \ 放在他們前面

字元描述

$匹配字串結尾位置的字元,如需匹配$這一特殊字元需要利用\將其轉義,即使用 \ $ 來匹配$字元

()用於分組,如需匹配 ( 和 ) 這一特殊字元需要利用\將其轉義,即使用 \ ( 或 \ ) 來匹配( )字元

*匹配該符號之前的子表示式出現過零次或多次,如需匹配這一特殊字元需要利用\將其轉義,即使用 \ * 來匹配字元

+匹配該符號之前的子表示式出現過一次或多次,如需匹配+這一特殊字元需要利用\將其轉義,即使用 \ +來匹配+字元

.匹配除了換行符\n之外的任何單字元,如需匹配 . 這一特殊字元需要利用\將其轉義,即使用 \ . 來匹配.字元

[表示子表示式的開始,如需匹配[這一特殊字元需要利用\將其轉義,即使用 \ [ 來匹配字元

?匹配該符號之前的子表示式出現過零次或一次;如需匹配?這一特殊字元需要利用\將其轉義,即使用 \ ?來匹配?字元

\將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。例如, 『n』 匹配字元 『n』。』\n』 匹配換行符。序列 『\』 匹配 「」,而 『(』 則匹配 「(」

^若不是在中使用,則匹配開始位置的字元,若是在中使用,則匹配方括號表示式之外的字元;如需匹配^這一特殊字元需要利用\將其轉義,即使用 \ ^ 來匹配 ^字元

, , ) 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串

非負整數,匹配該符號之前的子表示式出現過n次

非負整數,匹配該符號之前的子表示式至少出現過n次

n和m均是非負整數,n<=m,匹配該符號之前的子表示式至少n次,最多m次 ;注意:在逗號和兩個數字之間不能有空格

定位符作用:能將正規表示式固定到行首或者行尾的位置

注意:定位符不能與限定符一起使用,因為定位符只能是乙個位置

字元表述

^定位到字元的開始位置;還能與\r \n 之後的位置匹配

$定位到字元的結尾位置;還能與\r \n 之前的位置匹配

\b匹配單詞邊界;即字與空格之間的位置 [開頭,空格,結尾都可看作邊界];如果\b位於要匹配的字元之前就會在字元的開始處查詢;如果\b位於要匹配的字元之後就會在字元的結尾處開始查詢

\b匹配非單詞邊界

修飾符(標記)

字元表述

/i不區分大小寫

/g全域性匹配,查詢所有匹配項

/m多行匹配,使邊界字元^和$匹配每一行的開頭和結尾

/s預設情況下的圓點 . 是 匹配除換行符 \n 之外的任何字元,加上 s 修飾符之後, . 中包含換行符 \n

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...