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頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...