Command Palette

Search for a command to run...

正規

正規表示式解釋器

貼上正規表示式,並以簡單的英語代幣解釋,包括標誌、群組和量詞。

什麼是正規表示式解釋器?

正規表示式解釋器採用正規表示式並將其翻譯成簡單的英語,一次一個結構。 而不是像 ^(?<user>[a-z0-9._%+-]+)@... 你會得到一個標記的細分:這部分是錨點,這是一個命名捕捉組,這個字元類別的意思是「小寫字母、數字、點或連字號」,這個量詞的意思是「一次或多次」。 它將一面符號牆變成您可以閱讀的清單。

正規表達式設計緊湊,這使得它們強大但難以審查。 相同的模式可以以多種方式編寫,單一雜散反斜線或貪婪的量詞完全改變了意義。 閱讀不熟悉的正規表達式 - 在程式碼審查、舊設定檔或堆疊溢出答案中 - 通常意味著在心理上模擬引擎。 此工具為您進行模擬,並將結果顯示為一個有序的縮排列表,它反映了模式的結構,包括嵌套組和環視。

一切都在您的程式碼使用的同一個 JavaScript Regexp 引擎上運行客戶端,因此您在此處看到的標誌行為和有效性與生產相符。 您的模式從未上傳,沒有記錄任何內容,並且一旦頁面載入,該工具將繼續離線工作。 當您要理解的正規表達式來自私有程式碼庫或匹配敏感資料格式時,這很重要。

解釋器告訴您模式的內容,而不是它是否適合您的資料 - 要檢查它,請根據正規表示式測試器中的真實輸入運行它。 因為它是使用瀏覽器自己的引擎編譯,所以存在於 PCRE 中但不存在於 ECMAScript 中的結構以兩種不同的方式表現。 所有權量詞,如 A++、原子組 (?>...) 和遞歸 (?r) 被直接拒絕,帶有引擎自己的訊息。 更微妙的情況是 \a 和 \z:沒有 U 標誌 JavaScript 將它們視為身份轉義,因此從 PHP 或 Python 複製的模式被解釋為匹配文字 A 或 Z 而不是字串邊界,並且不會引發錯誤。 通常也描述了 (A+)+ 等嵌套量詞;災難性回溯是輸入的運行時屬性,而不是結構中可見的東西。

如何使用正規表示式解釋器?

  1. 貼上你的正規表示式

    輸入沒有周圍斜線的模式 - 只是表達本身。 按一下載入範例以從工作的電子郵件匹配範例開始。

  2. 設定標誌

    切換模式使用的標誌(G、I、M、S、U、Y、D)。 解釋器報告每個標誌的作用,並驗證針對該標誌組合的模式。

  3. 閱讀細分

    每個令牌都按順序列出,並帶有簡單的英語描述。 嵌套組是縮進的,因此圖案的結構一目了然。

  4. 複製解釋

    複製完整的純文字分解以貼上到程式碼註解、拉取請求說明或文件中,這樣下一個閱讀器就不必解碼。

主要特點

  • 暗號

    每個錨點、字元類別、量詞、群組和 escape 都有自己的線條,並按照引擎讀取它們的順序

  • 小組和環顧四周

    捕獲、非捕獲、命名組和所有四種環顧類型都被標記和縮排,因此嵌套結構很容易遵循

  • 標誌解釋

    G、I、M、S、U、Y 和 D 標誌都在上下文中描述,因此您了解它們如何改變整個匹配,而不僅僅是語法

  • 真正的引擎驗證

    模式是使用瀏覽器原生 Regexp 引擎驗證的,因此在您依賴它之前,它會發現一個無效的表達式有確切的錯誤

Frequently Asked Questions

將模式貼到解釋器中並讀取令牌按令牌分解,它以簡單的英語描述每個結構,按照引擎應用它的順序。 嵌套組是縮排的,因此您可以看到結構。 這會在精神上模擬引擎,簡單地閱讀一個標記的清單。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

regex explainerexplain regexregex to englishregex decoderwhat does this regex doregular expression explainedregex breakdownunderstand regexregex cheat sheet