歡迎使用CSDN 正則的擴充套件

2021-10-22 07:33:10 字數 3096 閱讀 4225

1 . 正規表示式可以從字串中 查詢 需要的 資料

2 . 正規表示式可以從字串中 替換 需要的 資料

3 . 正規表示式可以從字串中 獲取 需要的 資料

/ . . . /

字面量定義

new regexp

new乙個regexp

let regex = new regexp(/[abc]/);
上述的** 可以將乙個 字串 轉成 正規表示式

let regex = new regexp(/[abc]/)

test( )

返回乙個boolean 值,代表是否匹配

exec()

返回乙個 陣列、陣列中 存放 的是 正則 匹配的元素, 如果不匹配,返回 null

1.split (分割)方法

var cookies = "13512345678"

; // 獲取 所有的 cookie

let array = cookies.split

(/\s+|,/)

console.log

(array)

;//得到乙個陣列

2. replace (替換)方法

replace 第二個引數如果是 函式,則 函式的 第乙個引數,代表 replace方法要替換的內容

第二個引數代表 替換內容的 索引位置, 第三個引數代表 原始字串

var cookies = "13512345678"

;console.log(cookies.replace("34", function(s, s1, s2)

))

3. search(搜尋) 方法

search(regex) 搜尋滿足正則匹配的內容、返回該內容對應的初始索引,找到對應的資料就立即返回, 如果搜尋不到滿足條件的資料、則返回 -1

4. match(查詢) 方法

搜尋滿足正則匹配的內容,如果 正則沒有加 修飾符(模式),那麼 返回乙個 陣列(exec類似)或者 null

如果正則 使用了 g(全域性模式) 修飾符, 則返回乙個 包含所有匹配內容的 陣列

abc : 匹配 abc 字串

[ ] :中括號可以寫多個字元,代表只匹配乙個字元

[abc]

代表 可以匹配a,b,c 三個字母中任意乙個字元

[a-z]

匹配小寫字母中的任意乙個

[a-z]

匹配大寫字母中的任意乙個

[a-za-z]

匹配所有的 字母

[0-9]

匹配 任意乙個 數字

[^] :如果中括號中 有以 ^ 開頭,代表非

[ ^ 0-9]

匹配非數字中的任意 乙個字元

[ ^ a-z]

匹配非小寫字母中的任意 乙個字元

\d 和 \d
\d

匹配任意乙個 數字,等價於[0-9]

\d等價於[ ^ 0-9]

\w 和 \w \w

匹配 字母,數字,下劃線 中的任意乙個字串[a-za-z0-9_]

\w等價於[ ^ a-za-z0-9_]

\s 和\s \s

匹配乙個空白字元 (空格和 tab 製表產生的空白,包括換行)

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

\ .和 . .

匹配 除 換行符之外的所有 任意乙個 字元

\ .匹配乙個點

x 匹配 n 個 x

x 匹配至少n個x

x 匹配 n到 m 個 x

貪婪式 表示式

x *匹配 0 到多個,等價於 x

x +至少匹配乙個 等價於 x

x ?匹配最多乙個 等價於 x

非貪婪式 表示式

x *?

匹配 0到多個

x +?

至少匹配乙個

x ??

匹配最多乙個

限定符

^如果出現在正則的第乙個位置,代表 以 … 開頭

$如果出現在正則的尾部,代表以 … 結尾

選擇符

| :或

分組

(. . .) 從左到右進行查詢

引用

\num 引用第 num 組的匹配 的內容,num 從1 開始

命名捕獲組 (?\d+)

將 \d 匹配的內容 賦值給 key可以通過exce().groups來進行獲取

非捕獲匹配

famil (? : y | ies) 此時的 小括號 不能算作分組

斷言

?=正向確定斷言

?!正向否定斷言

?< =

反向確定斷言

?< !

反向否定斷言

修飾符位置是在 正則的最後乙個 / 尾部 使用,

(修飾符可以多個配合使用)

i忽略大小寫

j全域性匹配

m多行匹配

sdotall模式(點模式)

uunicode 模式

y粘連模式(也是全域性匹配)

let regex = /[a-z]+/i ;  // 忽略大小寫

console.log

(regex.test

("abcd"))

; //true

可有三種寫法

// let regex = /[0-9]+/i ;  // 忽略大小寫

// regex = new regexp("[a-z]+", "i")

// regex = new regexp(/[a-z]+/i, "g") // ===> /[a-z]+/g es6新增的寫法

歡迎使用CSDN

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎使用CSDN

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎使用CSDN

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...