如何在重複的 JavaScript 正規表示式中捕獲多個群組?
Nov 13, 2024 am 10:33 AM在JavaScript 正規表示式中擷取任意群組
在JavaScript 正規表示式中使用擷取群組時,了解其限制至關重要。預設情況下,僅保留重複群組的最後一次捕獲,即使該群組是嵌套的。
示例:嵌套捕獲組
考慮以下正則表達式:
/^(\s*\w+)+$/
登入後複製
預計輸出:
["foo bar baz", "foo", " bar", " baz"]
登入後複製
實際輸出:
["foo bar baz", " baz"]
登入後複製
在這種情況下,僅傳回最後捕獲的群組「baz」。這是因為 JavaScript 只保留每個重複組的最終捕獲。
捕獲多組的選項
要克服此限制,可以使用以下幾個選項:
- 按分隔符分割: 如果可能,使用字串分割來分隔
- 執行循環和拆分: 使用執行循環重複匹配字串中的模式,並將捕獲的組拆分為單獨的匹配項。
- 多層匹配:捕捉一場比賽中重複的群組,然後使用另一個正規表示式來提取個體
範例:Exec循環和拆分
以下是使用exec 循環捕獲和拆分嵌套組的範例:
var text = "a;b;<c;d;e;f>;g;h;i;<no no no>;j;k;<xx;yy;zz>"; var r = /<(\w+(;\w+)*)>/g; var match; while ((match = r.exec(text)) != null) { print(match[1].split(";")); } // Output: // ["c", "d", "e", "f"] // ["xx", "yy", "zz"]
登入後複製
在此範例中,嵌套組被捕獲為組1 ,然後在分號上拆分
相關問題
- 如何存取JavaScript 正規表示式中的符合群組?
以上是如何在重複的 JavaScript 正規表示式中捕獲多個群組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)