這三個都是RegExp對象下的三個方法,使用方法是一致得。javascript
使用方法:RegExpObject.方法()java
方法解析:其實就是根據定義好的正則對象,調用對應的方法。正則表達式
1.RegExpObject.compile(RegExp,modifier)數組
modifier 規定匹配的類型。"g" 用於全局匹配,"i" 用於區分大小寫,"gi" 用於全局區分大小寫的匹配。spa
compile用於改變和從新編譯正則表達式。 對象
var str="Every man in the world! Every woman on earth!";
patt=/man/g;
str2=str.replace(patt,"person");
document.write(str2+"<br />");
patt=/(wo)?man/g;
patt.compile(patt);
str2=str.replace(patt,"person");
document.write(str2);
輸出:blog
Every person in the world! Every woperson on earth! Every person in the world! Every person on earth!
對patt正則進行從新編譯賦給pattip
先是用person替換了man,而後從新定義patt正則,加了wo ,以後再次替換,這樣man和woman都被替換掉了,其實能夠直接寫/(wo)?man/g這個正則,就能所有替換了。字符串
2.RegExpObject.exec(string)string
這個方法用於檢索字符串中的正則表達式的匹配。匹配成功有值的話返回一個數組,裏頭存放匹配的結果,若是沒找到匹配項則返回null.
var str = "Visit W3School"; var patt = new RegExp("W3School","g"); console.log(patt.exec(str))
輸出:["W3School"]
在str字符串中查找patt正則定義字符串,找到返回字符串數組
3.RegExpObject.test(string)
test方法跟exec的區別就是返回值不一樣,exec找到返回值數組,test找到返回true,沒找到返回false
var str = "Visit W3School"; var patt1 = new RegExp("W3School"); console.log(patt1.test(str))
輸出:true