JavaScript的正则表达式

本文详细介绍了JavaScript中的正则表达式,包括创建方式、正则的两大作用(匹配和捕获)、特殊元字符、量词元字符的使用,以及正则在字符串方法中的应用,如replace。同时,讲解了前瞻和后顾等高级特性,并推荐了正则可视化网站帮助理解。
摘要由CSDN通过智能技术生成

目录

正则

正则的创建 

正则的创建的区别

正则的两大作用

正则匹配

正则捕获

 正则的组成

特殊元字符

量词元字符

 其他

 正则的应用

 正则的捕获

修饰符

正则的两大特性

字符串方法替换(replace)

前瞻和后顾

正则的可视化网站


正则

正则就是处理字符串的一种规则

正则的创建 

// 字面量的方式   /元字符/
        var reg = /\d/; //  \d:0-9之间任意的数字  包含0-9之间的任意数字即可

        // 构造函数方式   new RegExp("");

正则的创建的区别

  var name = "中公教育";
        var reg = /\d+"+name+"\d+/;
        console.log(reg.test('89789789"""""""""""""nameeeeeeeeeee"90790890890890'));


        // 字面量的方式创建正则不支持变量

        // 构造函数方式 
        // 支持变量
        // 通过构造函数方式进行创建的时候 带有转义字符的元字符 要用\\
        // new RegExp("元字符","修饰符");
        var reg1 = new RegExp("\\d+" + name + "\\d+");
        console.log(reg1);
        console.log(reg1.test("2131231中公教育879789987"));

正则的两大作用

正则匹配

  看当前字符串是否符合正则规则 返回值是一个布尔值 符合返回->true 不符合返回false

       var reg = /\d/; //  \d:0-9之间任意的数字  包含0-9之间的任意数字即可
// reg.test(字符串);
        console.log(reg.test("哈哈"));//false
        console.log(reg.test("哈0哈"));//true

正则捕获

将符合规则的字符串获取到返回一个数组

// reg.exec(字符串); 
        console.log(reg.exec("9he7llo"));
        /* 
            ['9', index: 0, input: '9he7llo', groups: undefined]
            0: "9"  捕获到的内容
            groups: undefined  分组
            index: 0  索引
            input: "9he7llo"  字符串本身
            length: 1 长度
        */

 正则的组成

正则由元字符和修饰符组成,修饰符可以省略,大部分的元字符表示本身的含义,部分元字符表示特殊的含义        /元字符/修饰符

特殊元字符

  • \:转义字符 转义后边字符所代表的含义
  • ^:以某一个元字符开头
  • $:以某一个元字符结尾
  • \d:0-9任意的数字
  • \w:数字 字母(A-Z a-z) 下划线  任意字符  [a-zA-Z0-9_]  =>[a-z] + [xyz]
  •  \W:除了数字 字母(A-Z a-z) 下划线以外任意字符
  • \s:空白字符
  • .:除了换行以外的任意字符

量词元字符

  • *:0到多个
  • ?:0或1个  可以出现可以不出现
  • +:1到多个
  • {n} 出现n次
  • {n,}出现n到多次
  • {n,m} 出现最少n次 最多m次 
          var reg = /d/;//包含d
        console.log(reg.test("a"));//f
        console.log(reg.test("addb"));//t
        console.log(reg.test("ad0d9b"));//t
        console.log(reg.test("11d"))//t

        //只要包含0-9之间任意的数字即可
        reg = /\d/;
        console.log(reg.test("a"));
        console.log(reg.test("addb"));
        console.log(reg.test("ad0d9b"));

        reg = /^\d$/; //必须是0-9之间任意的一个数字(只能有一个) 一旦加了^和$元字符是严格匹配   每个元字符都占一个位置
        console.log(reg.test("ad0d9b"));
        console.log(reg.test("01"));

        reg = /^\d\d\d\d\d\d\d\d\d\d\d$/;
        console.log(reg.test("18701282528"));
        console.log(reg.test("187012825281"));

        reg = /^\d{11}$/;
        console.log(reg.test("18701282528"));
        console.log(reg.test("187012825281"));
        reg = /^\d{8,11}$/;
        console.log(reg.test('03917'));//false
        console.log(reg.test('15090390157'));
        console.log(reg.test('150903917'));
        console.log(reg.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值