「正則表達式」三、正則表達式括號的使用(前端必懂 )

往期回顧

正文內容

簡單理解:括號提供了分組,便於我們使用它。

通常有兩種引用情況:在JS代碼中引入,和在正則表達式中引入。

分組和分支結構,主要是強調括號內是一個整體,即提供子表達式。

  • 分組如 /(ab)+/g 匹配連續出現的 ab 。
  • 分支結構如 /(a|b)+/g 匹配出現的 a 或 b 表達式。

1.分組引用

如在日期匹配的時候,就可以這麼改造:

「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 提取數據
「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 替換

將 yyyy-mm-dd 轉成 mm/dd/yyyy。

「正則表達式」三、正則表達式括號的使用(前端必懂 )

2. 反向引用

使用 \\n 表示第 n 個分組,比如 \\1 表示第 1 個分組:

「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 多個括號嵌套

按照開括號的順序:

「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 特殊情況

\\10 表示的是第 10 個分組,若要匹配 \\ 和 0 時,使用 (?:\\1)0 或 \\1(?:0)。

「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 當引用不存在的分組

如匹配 \\2 是前面不存在,則匹配 \\2 本身,即對 2 的轉義,不同瀏覽器可能不同:

「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 分組後面有量詞

當分組後面有量詞的話,則捕獲的是最後一次的匹配:

「正則表達式」三、正則表達式括號的使用(前端必懂 )

3. 相關案例

這裡只寫出核心代碼。

  • 模擬字符串 trim 方法
「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 每個單詞首字母大寫
「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 駝峰化 和 中劃線化
「正則表達式」三、正則表達式括號的使用(前端必懂 )

  • 匹配成對HTML標籤

匹配成對標籤

leo,而不匹配不成對標籤


分享到:


相關文章: