创建方法:①.字面量表示法:
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()返回的都是它的字面量表示法,无论是通过构造函数方式建立的还是字面量方式建立的。
时间: 2024-11-05 13:50:27