day-17.2 定义正则表达式

什么叫正则表达式;

var  r1 = /haha/ ;

var r 2 = new RegExp("haha"); 

从上述表达式可以看出,正则表达式,其实就是一个实例一个写好正则函数和规则的对象的表达式;

1 <script>
2        var str = "haha123213";
3        var r1 = /haha/;
4        var r2 = new RegExp("haha");
5        console.log(r1.test(str)); //true
6        console.dir(r1); //输出对象的内容一样
7        console.log(r2.test(str)); //true
8        console.dir(r2); //输出对象的内容一样
9 </script>

从上述例子可以看出,无论是用 /“haha”/还是 new RegExp()实例的正则对象都是一样的,

区别就是

1:引用, //定义的正则规则不能引用变量,//里的参数只能是常量,而 new RegExp可以引用变量;

1 var a = "haha";
2 var r1 = /a/; //正则的参数只能是常量a;
3 var r2 = new RegExp(a); //正则的参数是变量a,即"haha";

 

2:特殊符号,当new RegExp();里的参数是特殊符号时,要转义才能传参,而//不需要;;

1 var reg1 = /\d/;
2 var reg2 = new RegExp("\d");//这样写是不行的,虽然匹配规则是\d,但是 这里写的时候\当成一个转义符处理了,匹配的时候的参数就会认为是d,所以要写成\\d,才行;
3 var reg3 = new RegExp("\\d");// 第一个\对第二个\进行转义保留,这样子匹配的函数调用的时候传进去的参数就是\d

 \d是一种匹配规则的特殊写法,后面再介绍;

posted @ 2018-08-07 17:48  bibiguo  阅读(109)  评论(0)    收藏  举报