跳至主要內容
Lizely

正規表示式速查表

尋找並複製 JavaScript 正規表示式語法標記,不會混入其他正規表示式語法的內容。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.在搜尋欄位中輸入一個標記或概念,例如 \d、lookbehind、Unicode、lazy 或 named。
  2. 2.選擇一個分類以縮小 JavaScript 專屬標記的結果,然後檢視該標記、意義與可執行範例。
  3. 3.點選一行的複製按鈕,僅將該精確的正規表示式標記複製至剪貼簿。

關於正規表示式速查表

正則表示法速查表是針對 JavaScript RegExp 實現的正則表示法語法所設計的專注參考資料。它包含 44 選擇的條目,涵蓋字元、字元類別、群組與引用、量化符、斷言以及旗標。每一行皆包含類別、精確的語彙單位、簡潔的意義,以及 JavaScript 的範例。搜尋與過濾功能完全在當前瀏覽器分頁中執行。不會將任何查詢、選取的類別、複製的語彙單位或其他輸入上傳至 Lizely 或其他服務。

這份語法的邊界非常明確。此表格描述的是 ECMAScript 正則表示法,並非 PCRE、Perl、Python、.NET、Java、RE2、POSIX 基本或擴充表示法、shell glob 或文字編輯器的自訂語法。這些系統雖然與 JavaScript 有重疊,但在重要領域上有所不同。在其他環境中運作正常的語彙單位,可能在 JavaScript 中被拒絕,或可能帶有不同語義。此處的條目已根據 ECMAScript RegExp 模式語法進行驗證,並與 MDN 的 JavaScript 特定檔案進行交叉核對。當程式將在特定瀏覽器、嵌入式執行環境或較舊的 Node.js 版本中執行時,也應確認該環境的特性支援狀況。

字元輸入包含點、ASCII數字與字詞轉義、空白字元轉義以及Unicode屬性轉義。在JavaScript中,\d 代表 ASCII 到 9 之間的 0 數字;它並非用作每個 Unicode 十進位數字的快捷方式。同樣地,\w 主要涵蓋 ASCII 字母、ASCII 數字與底線,當 i 與 u 標誌結合時,會有明確記錄的 Unicode 型別區分與大小寫轉換細節。若要匹配 Unicode 屬性(例如 Letter),請使用屬性轉義如 \p{Letter} 並搭配 u 或 v 標誌。其補集則為 \P{Letter}。表格並未隱含屬性轉義在未啟用 Unicode 型別辨識模式時即可運作。

字元類專案區分列出的類別(如 [abc])、否定類別(如 [^abc])以及包含範圍(如 [a-z])。轉義專案包含兩位十六進位、四位 UTF-16 程式碼單位以及花括號包覆的 Unicode 程式碼點形式。花括號程式碼點形式需搭配 u 或 v 標記。範例以 JavaScript 正規表示式字面形式呈現,以確保必要的斜線分隔符與標記可見,而複製按鈕僅複製 Token 欄位中顯示的標記。這讓複製結果能直接用於現有模式中,避免額外加入不相關的範例或說明。

組合專案區分編號捕獲、命名捕獲與非捕獲組。它們也區分編號回引用(如 \1)與命名回引用(如 \k<name>)。交替運算以 x|y 表示。這些並非互換使用:非捕獲組僅控制優先順序,不會新增捕獲槽位,而回引用則會匹配先前捕獲的相同文字。範例刻意使用 JavaScript API(如 RegExp.prototype.test 與 RegExp.prototype.exec)而非借用命令列引擎的語法。

量化專案涵蓋零或更多、一或更多、可選、精確計數、下限計數、有界計數以及惰性行為。預設形式為貪婪匹配。在量化符後加上 ? 會使該量化符變為惰性;它不會使該位置的底層標記變為可選。斷言包括起始與結束錨點、詞元與非詞元邊界、正向與負向前瞻、以及正向與負向後瞻。JavaScript 後瞻以 (?<=...) 或 (?<!...) 表示。它不會轉換為前瞻形式,且斷言會檢查當前位置前的文字內容,但不會消耗該前導文字。

標記區段列出 d、g、i、m、s、u、v 與 y。s 標記讓點可匹配行終止符。m 標記會改變 ^ 與 $ 在行邊界上的處理方式。g 標記啟用全域匹配行為,並影響 lastIndex 在狀態性運算中的行為,而 y 標記則要求匹配必須從 lastIndex 開始。d 標記會顯示匹配索引。u 標記啟用 Unicode 認知匹配與程式碼點轉義。較新的 v 標記啟用 UnicodeSets 行為,包括類別集合運算與字串屬性;JavaScript 不允許在同一 RegExp 中同時使用 u 與 v。此表格明確指出不相容性,而非建議標記可任意組合使用。

當你知道一個符號或概念時,請使用搜尋框。搜尋 \d 會找到精確的數字標記,而像 lookbehind、Unicode、lazy、named 或 line terminator 這樣的詞彙則會找到其意義與範例。選擇一個分類來縮小目前結果集。過濾條件會自動合併,顯示的數量始終反映完整匹配數量;沒有隱藏的結果上限。若無匹配,工具會顯示明確的空狀態。更改搜尋或分類會使舊的剪貼簿作業失效並清除其狀態,因此遲到的剪貼簿回應無法描述不同的過濾檢視。

每個複製按鈕會請求剪貼簿權限以複製一個標記。一個作業識別碼確保只有最新一次的複製嘗試能宣告成功或失敗,且元件清理機制可防止遲到的剪貼簿承諾更新已解除安裝的頁面。瀏覽器剪貼簿權限仍可能被拒絕。若發生此情況,工具將報告可恢復的錯誤,而非聲稱標記已被複製。此速查表僅為快速語法參考,並非正規表示式驗證器、安全分析工具、相容性資料庫,或保證某模式效率的保證。應以代表性輸入測試實際模式,避免在不可控的回溯上處理不受信的文字,並在行為重要時使用相關的正規表示式測試工具。

方法與來源

此表格為固定且精心整理的 JavaScript 正規表示式參考,包含 44 唯一標記鍵與六個非空分類。每項內容必須包含分類、標記、說明與 JavaScript 範例。ECMAScript 的 RegExp 模式語法為規範來源;MDN 的 JavaScript 速查表與 RegExp 參考獨立驗證實際用語、範例與標記。測試會強制執行表格長度、唯一標記、正確分類、必要文字、12 獨立轉錄的金標準條目、代表性 JavaScript 執行行為、搜尋與分類過濾的結合、明確的空結果,以及剪貼簿成功與拒絕路徑。不會故意包含其他正規表示式語法的內容。

常見問題

此速查表涵蓋 PCRE、Python、.NET 或其他正規表示式語法嗎?
不。它明確限於 ECMAScript 定義的 JavaScript 正規表示式。其他引擎可能共享標記,但在語法、Unicode 行為、標記與支援功能上存在差異。
Unicode 屬性轉義在沒有標記的情況下會運作嗎?
不。例如 \p{Letter} 這種屬性轉義必須搭配 u 或 v 標記才能在 JavaScript 中使用。v 標記啟用 UnicodeSets 行為,且不能與 u 同時出現在同一個正規表示式中。
JavaScript 中 lookbehind 的語法是什麼?
正向 lookbehind 為 (?<=...),負向 lookbehind 為 (?<!...)。它們會斷言當前位置前的內容,且不會消耗該前導文字。
複製按鈕會把什麼內容複製到剪貼簿?
它僅複製該行中精確的標記,不會複製分類、說明、範例、斜線分隔符或標記。

開發者工具 使用指南

查看全部