VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • JavaScript连载25-正则表达式的匹配分割替换以及贪婪模式

一、test方法

    var dateStr = '2020-01-01';
    var dateReg = /^\d{4}-\d{2}-\d{2}$/;
    console.log(dateReg.test(dateStr));//test方法用于验证是否是满足正则表达式格式

运行结果:
25.1

二、提取正则表达式

1. 正则对象.exec(要匹配的内容)

复制代码
    var qqStr = "小明:15778945869,小虎:15678645678,小红:13848956123";
    var reg = /\d+/g;
    do{
        var content = reg.exec(qqStr);//返回了一个数组,索引第一个值就是匹配的内容
        if(content){
            console.log(content[0]);
        }
    }while(content)
    //可以看出来content即使是在大括号的外面也依然可以使用
复制代码

运行结果:
25.2

2. 要匹配的内容.match(正则对象)

    var qqStr = "小明:15778945869,小虎:15678645678,小红:13848956123";
    var reg = /\d+/g;
    var qqArr = qqStr.match(reg);
    console.log(qqArr);//返回一个匹配所有结果的列表

运行结果:
25.3

3.分组匹配的结果

  • 使用RegExp.$数字来进行提取分组表达式
复制代码
    var dateStr = '2020-01-01';
    dateReg2 = /^(\d{4})-(\d{2})-(\d{2})$/;
    if(dateReg2.test(dateStr)){
        console.log(RegExp.$1);
        console.log(RegExp.$2);
        console.log(RegExp.$3);
    }
复制代码

显示结果:
25.4

4.替换

  • 要匹配的对象.replace(正则对象,新字符)
复制代码
    var str2 = '              it  like   iy d ewd   dew   dd      ';
    console.log(str2.trim());//去除首尾空格
    //但是我们想要取代所有的空格,那就要用正则表达式了
    str3 = str2.replace(/\s/g,'*');//加上g就是非贪婪
    str4 = str2.replace(/\s/,"*");
    str5 = str2.replace(/\s*$/,"*");
    console.log(str3);
    console.log(str4);
    console.log(str5);
复制代码

显示结果:
25.5

5.分隔

    var dateStr3 = "2020-11-12";
    console.log(dateStr3.split("-"));//返回一个分割的列表

显示结果:
25.6

6.贪婪与非贪婪

  • 使用?即可实现
    var str6 = "aaaaaaaaabbbbbbbbbbbbbaaaaaaaaaaaa";
    var res = str6.match(/a.*b/);//默认是贪婪模式
    var res2 = str6.match(/a.*?b/)
    console.log(res);
    console.log(res2);

显示结果: 25.7

二、源码:

    • D25_MethodOfMatch.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/D25_MethodOfMatch.html
    • 博客园:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
  • 出处:https://www.cnblogs.com/ruigege0000/p/13334149.html

相关教程