根據定義:
match方法讓字符串和一個正則表達式進行匹配。它依據g標識來決定如何進行匹配。如果沒有g標識,那么調用String.match(regexp)的結果與調用regexp.exec(string)的結果相同。然而,如果regexp帶有g標識,那么它生成一個包含所有匹配(除捕獲分組之外)的數組。
(JavaScript語言精粹(修訂版)P89)
再根據官方文檔描述:(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)
至於capturing groups和addtional properties到底是什么,今天正好有機會試驗一下,作為記錄。
目標:將以下文本中的站點名稱提取出來
如果加了g標識符:
可以看到結果是一維數組,只包含了匹配整個正則表達式的一個數組元素。
如果不加g標識符:
可以看到,函數返回了第一個完整匹配、與其相關的所有匹配組(capturing groups)(正則表達式中小括號的內容,也即我們想提取的站點名稱)、額外的屬性(additional properties)。