文法:
exec() : RegExpObject.exec(string) match() : stringObject.match(string) stringObject.match(regexp)
知識點:
exec() 是RegExp物件的方法,而 match() 是String物件的方法。
都會傳回包含第一個符合項目資訊的陣列;或在沒有符合項的情況下傳回null。
傳回的陣列雖然是Array 的實例,但包含兩個額外的屬性:index 和 input。其中,index 表示符合項目在字串中的位置,而 input 表示套用正規表示式的字串。
在陣列中,第一項是與整個模式相符的字串,其他項目是與模式中的捕獲組匹配的字串(如果模式中沒有捕獲組,則該數組只包含一項)。
檢定:
對 match() 的測試程式碼:
var text = "mom and dad and baby"; var pattern = /(mom and )?(dad and )?baby/; var matches = text.match(pattern);//pattern.exec(text); console.log(matches.index); console.log(matches.input); console.log(matches[0]); console.log(matches[1]); console.log(matches[2]);
對 match() 的測試結果截圖:
對 exec() 的測試程式碼:
var text = "mom and dad and baby"; var pattern = /(mom and )?(dad and )?baby/; var matches = pattern.exec(text);//text.match(pattern); console.log(matches.index); console.log(matches.input); console.log(matches[0]); console.log(matches[1]); console.log(matches[2]);
對 exec() 的測試結果截圖:
String 物件方法
方法 | 描述 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置 |
test | 检索字符串中指定的值。返回 true 或 false。 |
String 物件方法
方法
描述
match()
找到一个或多个正则表达式的匹配。
replace()
替换与正则表达式匹配的子串。
search()
检索与正则表达式相匹配的值。
關於JS中match() 和 exec() 回傳值和屬性的測試就給大家介紹到這裡,希望對大家有幫助!