var patten='//d/gi';
var patten=new RegExp("//d","gi")
当使用RegExp建立时,第一个参数为正则的字符串形式,第二个参数为模式说明,而页不需要“/”,同时由于字符串中“/”后面加参数可能表示换行“/n”,为了防止冲突,改为“//”;
正则表达式对象的属性:
global ignoreCase lastIndex multiline souce //正则的表达式
方法:
exec()
var text="mom and dad and baby";
var pattern=/mom( add dad ( and baby)?)?/gi;
var matchs=pattern.exec(text);
alert(matchs.index)//匹配到的字符在原字符串的位置
alert(matchs.input)//要检查的字符
alert(matchs[0])匹配到的字符
alert(matchs[1])匹配到的字符中的组1
如果执行exec()时,使用了全局模式,当第二次执行时,会取下一个匹配到的字符
如:
var text = “cat, bat, sat, fat”;
var pattern1 = /.at/;
var matches = pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0
matches = pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0
var pattern2 = /.at/g;
var matches = pattern2.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern2.lastIndex); //0
matches = pattern2.exec(text);
alert(matches.index); //5
alert(matches[0]); //bat
alert(pattern2.lastIndex); //8
方法:test()用于测试是否匹配
正则表达式属性:
input lastMatch lastParen leftContext multiline rightContext
$_ $& $+ $` $* $'
RegExp.input //RegExp['$_'];
当分组时可以使用RegExp.$1