反斜杠在正则表达式中是转义的,, ,s等都是有其含义,但是在字符串中
我们不能把它和在正则中完全的一样对待。
比如/s12s/这个正则匹配的是开头空白,中间12,后边是空白的字符串,
但是如果写成"s12s"就不行了,需要写成"\s12\s",
但是" 12 " 就等于 / 12 / 就等于 "\t12\t",
所以在字符串中最好用双反斜杠,要不很容易会出现问题。
包括和d也是不一样的。说白了,就是字符串的正则和//这个的正则还是有些不一样的
var reg1 = new RegExp("dlsd");
console.log(reg1);
var reg2 = new RegExp("ls");
console.log(reg2);
//var reg2 = new RegExp(" ls ");
//console.log(reg2);
/*
var reg1 = new RegExp(/ls/);
var reg2 = new RegExp("s+lss+");
var reg3 = new RegExp("\s+ls\s+");
console.log(reg1);
console.log(reg2);
console.log(reg3);
var str = "dfads+lss+dfsa";
alert(reg1.test(str));
alert(reg2.test(str));
alert(reg3.test(str));
var reg4 = new RegExp(/s+lss+/);
console.log(reg4);
var str2 = "dfads+lss+dfsa";
var str3 = "ablsdfsa";
alert(reg4.test(str2));
alert(reg4.test(str3));
var reg5 = new RegExp(/s+lss+/);
console.log(reg5);
alert(reg5.test(str2));
alert(reg5.test(str3));
*/