var expression =/pattern/flags;pattern部分可以是任意简单或复杂的正则表达式,可以包含字符类,限定符,分组,向前查找。每个正则表达式都可带有一个或多标志(flags),用以表明正则表达式的行为,正则支持一下3个标志。
g====表示全局global模式,所有字符串,而非在发现第一个匹配项时立即停止。
i====表示不区分大小写(case-insensitive),模式
m====表示多行模式multiline
//匹配字符创中所有“at”的实例
var pattern=/at/g;
//匹配第一个“bat”或“cat”,不区分大小写
var pattern2=/[bc]at/i;
//匹配所有以“at”结尾的3个字符的组合,不区分大小写
var pattern3=/.at/gi;
([{\^$|?)*+.]}这些元字符必须转义
实例属性
global--布尔值,表示是否设置了g标志
ignoraCase--布尔值,表示是否设置了i标志
lastIndex-----整数,表示开始搜索下一个匹配项的字符位置,从0算起。
multiline-----布尔值,是否设置了m标志。
source--------正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。
实例方法
exec();
接受一个参数 ,返回包含第一恶匹配项信息的数组;或者在没有匹配项的情况下返回null,返回的数组虽然是Array的实例,但包含两个额外的属性:index和input。index表示匹配项所在的位置,input表示正则表达式的字符串。
vartext ="mom and dad and baby";
varpattarn = /mom( and dad( and baby)?)?/gi;
varmatches = pattarn.exec(text);
alert(matches.index);//0
alert(matches.input);//mom and dad and baby
alert(matches[0]);//mom and dad and baby
alert(matches[1]);//and dad and baby
alert(matches[2]);//and baby
test()方法
接受一个字符串参数,在模式与改该参数匹配的情况下返回true,否则返回false。
RegExp实例继承的toLocaleString()和toString()方法都会返回正则表达式的字面量。
varpp =newRegExp("\\[bc]\\at","gi");
alert(pp.toString());// /\[bc\]at/gi
alert(pp.toLocaleString());// /\[bc\]at/gi