首頁 > web前端 > js教程 > 主體

為什麼 JavaScript 正規表示式僅捕獲重複中的最後一組?

Mary-Kate Olsen
發布: 2024-11-11 04:12:02
原創
206 人瀏覽過

Why Does JavaScript Regex Capture Only the Last Group in a Repetition?

在JavaScript 正規表示式中擷取多個群組

在JavaScript 中使用正規表示式時,通常會遇到需要擷取多個組的情況資料組。但是,在某些情況下,可能無法實現捕獲所有匹配組的預期行為。

例如,考慮以下 JavaScript代碼:

您可能會期望代碼返回包含所有捕獲的匹配的數組:

但是,實際結果是:

出現這種情況是因為在正規表示式中,當您重複捕獲組時,僅保留最後一個捕獲。這是大多數正規表示式風格中的預設行為。

捕獲所有匹配的解決方法

如果您需要捕獲所有匹配的組,有幾個選項可用:

  • 以分隔符號分割: 如果模式如果您嘗試匹配包含分隔符,請考慮使用split 方法而不是正規表示式。這種方法可用於將輸入字串拆分為字串數組。
  • 使用循環進行匹配:您可以使用循環將正規表示式重複應用到輸入字串,使用執行方法。此方法傳回一個數組,其中包含每個匹配的所有捕獲的組。
  • 多層匹配:另一種方法涉及捕獲一個匹配中的重複組,然後使用第二個正則表達式來打破該匹配分開匹配。

使用 Exec 循環的範例

以下範例示範了使用 exec循環匹配多組:

其他資源

  • regular-expressions.info/重複捕獲組與捕獲組重複組
  • 如何在javascript 中存取符合的群組正規表示式?

以上是為什麼 JavaScript 正規表示式僅捕獲重複中的最後一組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板