JavaScript正則表達式exec方法

JavaScript正則中的子表達式要用括號括起來。

說明

exec() 方法的功能非常強大,它是一個通用的方法,而且使用起來也比 test() 方法以及支持正則表達式的 String 對象的方法更爲複雜。

如果 exec() 找到了匹配的文本,則返回一個結果數組。否則,返回 null。此數組的第 0 個元素是與正則表達式(用括號括起來的)匹配的文本,第 1 個元素是與 RegExpObject 的第 1 個子表達式相匹配的文本(如果有的話),第 2 個元素是與 RegExpObject 的第 2 個子表達式相匹配的文本(如果有的話),以此類推。 除了數組元素和 length 屬性之外,exec() 方法還返回兩個屬性。index 屬性聲明的是匹配文本的第一個字符的位置。input 屬性則存放的是被檢索的字符串 string。我們可以看得出,在調用非全局的 RegExp 對象的 exec() 方法時,返回的數組與調用方法 String.match() 返回的數組是相同的。

例如:

/\[[a-z]+ ([a-zA-Z]+)\]/.exec(Object.prototype.toString.call([])) || []

結果:
["[object Array]", “Array”, index: 0, input: “[object Array]”, groups: undefined]

再例如:

/\[([a-z]+) ([a-zA-Z]+)\]/.exec(Object.prototype.toString.call([])) || []

結果:
["[object Array]", “object”, “Array”, index: 0, input: “[object Array]”, groups: undefined]

參考鏈接:https://www.w3school.com.cn/js/jsref_exec_regexp.asp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章