1. 程式人生 > >正則表示式(JavaScript)

正則表示式(JavaScript)

1、g的作用

            let reg1 = /3/;  let reg2 = /3/g; let x = '353'; 

            則:x.match(reg1)只能匹配到第一個符合條件的子串,x.match(reg2)能匹配所有符合條件的子串

2、利用正則表示式進行匹配替換

    正則替換時,第二個引數可以是函式

    function replaceFun(text) {return "^^" + text + "&&"};

    let x = "aaa3aaa3aaa3aaa";

    let reg = /[\d]/g;

    x.replace(reg, replaceFun)

    返回結果 "aaa^^3&&aaa^^3&&aaa^^3&&aaa" 

    正則匹配時幾個特殊的符號

 

字元 替換文字  例子
$1、$2、...、$99 與 reg 中的第 1 到第 99 個子表示式相匹配的文字。 

let x="3a4a5a"

let reg=/(3)a(4)a/g;

x.replace(reg,'$1^^$2&&');

輸出 "3^^4&&5a"

$& 與 rege 相匹配的子串。 

let x="3a4a5a"

let reg=/[\d]/g;

x.replace(reg,'^^$&**');

輸出 "^^3**a^^4**a^^5**a"

$` 位於匹配子串左側的文字。  let x="a3b4c5d"
let reg=/[\d]/g;

x.replace(reg,'$`');

輸出 "aaba3bca3b4cd"

$' 位於匹配子串右側的文字。  let x="a3b4c5d"
let reg=/[\d]/g;
x.replace(reg,"$'");
輸出 "ab4c5dbc5dcdd"
     

 

3、利用正則表示式清除瀏覽器cookie

/**
 * 清除所有cookie
 */
function clearAllCookie() {
    const reg = /[^ =;]+(?=\=)/g; // 《JavaScript權威指南》正則表示式一章(10.1.5 指定匹配規則)可以參考著理解該正則表示式
    const keys = document.cookie.match(reg) || [];
    keys.forEach(function(key){
        document.cookie = `${key}=0;expires=${new Date(0).toString()}`;
    });
}

教程:http://www.runoob.com/regexp/regexp-tutorial.html