美文网首页
正则表达式(前端常用知识整理)

正则表达式(前端常用知识整理)

作者: MickeyMcneil | 来源:发表于2018-08-08 14:54 被阅读4次
    定义

    匹配规律规则的表达式,通常用来检索、替换符合某个模式的文本。

    组成

    • 元字符串
    元字符 匹配说明
    \d 数字
    \D 非数字
    \w 字母、数字、下划线
    \W 非字母、数字、下划线
    \s 空白符
    \S 非空白符
    . 除换行符以外的任意单个字符
    ^ 以谁开始
    $ 以谁结束
    • 限定符
    限定符 重复说明
    * 大于等于0次
    + 大于等于1次
    ? 0次或者1次
    {n} n次
    {n,} 大于等于n次
    {n,m} n到m次
    • 其他
    字符 说明
    [ ] 匹配中括号中任一字符
    [ ^ ] 匹配除中括号内容以外的字符
    \ 转义符
    | 或者
    () 组,圆括号内的内容表示的是一个表达式
    作用
    • 匹配:给定的字符串是否符合正则表达式的过滤逻辑
            var str = "2018-8-8";
            var reg = /^\d{4}-\d{1,2}-\d{1,2}$/gi;
            console.log(reg.test(str)); // true
    
    • 提取:使用正则表达式,从字符串中进行提取
            //  提取
            var str = "西虹市首富: 2391.70, 狄仁杰之四大天王: 623.70, 风语咒: 425.00";
            var reg = /[0-9]+([.]{1}[0-9]+){0,1}/g;
            var arr = str.match(reg);
            console.log(arr); // (3) ["2391", "623.70", "425.00"]
            //  分组提取
            var str = "西虹市首富:2391";
            var reg = /([\u4e00-\u9fa5]+):([0-9]+)/g;
            if (reg.test(str)) {
                console.log(RegExp.$1); // 西虹市首富
                console.log(RegExp.$2); // 2391
            }
    
    • 替换:替换字符串
            var str = "西  虹  市 首 富:2391";
            var reg = /\s/g;
            var strNew = str.replace(reg, "");
            console.log(strNew); //西虹市首富:2391
    

    相关文章

      网友评论

          本文标题:正则表达式(前端常用知识整理)

          本文链接:https://www.haomeiwen.com/subject/rfxxbftx.html