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