首页 > 代码库 > 关于正则表达式的方法及其他

关于正则表达式的方法及其他

创建方法:①.字面量表示法:  

var pattern = /cat/gi;

②.构造函数表示法:

var pattern = new RegExp("cat","gi‘);

需要转译的字符在这两种方式的表达中也是不同的:

var pattren1 = /\dct/;
var pattern2 = new RegExp("\\dct");     //等同于pattern1
var pattern3 = /\\/;
var pattern4 = new RegExp("\\\\");      //等同于pattern3

将字面量表达式中的“\”的数量乘2即是构造函数方法中的形式

①.最主要的方法:exec()方法。该方法是专门为捕获数组创建的,返回与正则表达式匹配的第一个匹配项。即使设置了全局标志(g)也只会返回一项。

var text = "dag, bag, eag";
//设置了全局模式
var pattern1 = /.at/g;
var matches = pattern1.exec(text);
alert(matches[0]);                  //"dag"
alert(matches.index);             //0
alert(pattern1.lastIndex);        //3
alert(matches[1]);                 //"undefined"
matches = pattern1.exec(text);
alert(matches[0]);                 //"bag"
alert(matches.index);             //5
alert(pattern1.lastIndex);       //8

//不设置全局模式

var pattern1 = /.at/;
var matches = pattern1.exec(text);
alert(matches[0]);                  //"dag"
alert(matches.index);             //0
alert(pattern1.lastIndex);        //3
alert(matches[1]);                 //"undefined"
matches = pattern1.exec(text);
alert(matches[0]);                 //"dag"
alert(matches.index);             //0
alert(pattern1.lastIndex);       //3

②.test()方法。检测参数是否与正则表达式匹配。常用在不需要知道返回值只想知道是否匹配的情况下,常用于if语句中。

var pattern = /.at/g;
var text = "cat";
if(pattern.test(text)){
        //匹配时执行的操作
}else{
        //不匹配时执行的操作
}

正则表达式的source属性,valueOf()方法,toString()方法和toLocaleString()返回的都是它的字面量表示法,无论是通过构造函数方式建立的还是字面量方式建立的。

 

关于正则表达式的方法及其他