js中String.match(regexp)方法進行正則匹配時,g標識符的作用


根據定義:

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)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM