首页 > 代码库 > JavaScript学习笔记整理Day11

JavaScript学习笔记整理Day11

一.词边界、正向预查、反向预查

  1.词边界

    \b词边界(单词的边界)

    \B非词边界

     //匹配出第二个hello
        var str = ‘hellobaby hello‘;
        var reg = /\bhello\b/;
        console.log(str.match(reg));
        //匹配出第一个 hello
        var reg = /\bhello\B/;
        console.log(str.match(reg));

  2.正向预查(?=后面是。。。。)

        var str = ‘hellobaby helloworld‘;
        //要求匹配出第二个hello
        var reg = /hello(?=world)/;
        console.log(str.match(reg));        

  3.反向预查(?!后面不是。。。)

     var reg = /hello(?!world)/;
        console.log(str.match(reg));

二.字符串边界---用于精确匹配

  1.^以指定字符开头

  2.$以指定字符结尾

var reg = /^[a-zA-Z]\w{5,11}$/;

三.正则表达式修饰符

  1.g 执行全匹配

  2.i执行对大小写不敏感

  3.m执行多行匹配

 var str = ‘Helloworld helloworld‘;
 var reg = /hello/gi;
   console.log(str.match(reg));
 var str = ‘Lorem nihao \rLorem hello‘;

四.用于模式匹配的String方法

  1.match()  正则匹配 返回匹配的内容  数组

  2.search()  查找      返回首次出现的索引     如果不存在返回-1

var str = ‘hello niheao‘;
var reg = /e/g; console.log(str.search(reg));

  3.split() 使用正则截取字符串 返回数组

var str = ‘border-left-color‘;
var reg = /-/;
var arr = str.split(reg);
        console.log(arr);

  4.replace() 正则替换

var str = ‘hello world, hello baby, hello shabi‘;
        //将字符串中的hello替换成 hi
                    //1. 老字符串 或者 正则
                    //2.  新内容
var newStr = str.replace(‘hello‘,‘hi‘); //只替换一个
        console.log(newStr);

var newStr = str.replace(/hello/g,‘hi‘); //使用正则替换
        console.log(newStr);

五.正则对象的方法

  1.test()  检测是否匹配

var str = ‘abcdef abc hello‘;
var reg = /Q/;
        console.log(reg.test(str));
var reg = /o/;
        console.log(reg.test(str));

  2.exec()  正则匹配 返回匹配的内容 不支持g

var str = ‘hello world, hello baby, hello shabi‘;

 var reg = /hello/;

 console.log(reg.exec(str));

JavaScript学习笔记整理Day11