正则表达式(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值