工具哇!

正則表達式可視化

用圖像的方式顯示正則表達式,更直觀地理解和調試正則表達式的利器

正則表達式可視化
    使用說明

    使用本工具生成的正則表達式可視化图像也称作 铁路图(Railroad Diagrams)。通過生成的圖像,能簡單明了看出正則表達式中複雜的邏輯關系,如嵌套循環和可選元素。浏覽可視化圖像的方式是先從左邊開始,然後沿著線條向右,如果遇到分支,則可以選擇多條路徑中的一條(這些路徑最終會回到圖的前面)。爲了使字符串成功地匹配圖表中的正則表達式,當您從左向右移動並穿過整個圖表到達末尾時,您必須能夠完成圖表的每個部分。

    例如:表達式 獅子(?:和|,)老虎,?和熊 既能匹配 獅子和老虎和熊,也能匹配 獅子,老虎,和熊。從圖裏可以看出,首先會匹配字符串 獅子,如果字符串裏沒有,則無法繼續。然後是 二選一,接下來則必須包含 老虎;然後是 或跳過(無逗號)。最後,匹配的字符串必須以 和熊 結尾。

    正則可視化圖像的基本組成

    可視化圖像中最容易理解的部分是不帶特殊選項的匹配特定文本的部分。它們分別是:字面值字符、轉義序列和任意字符。

    字面值字符 [Literals]

    表示文字與一個准確的文本字符串進行匹配。顯示在淺藍色的框中,並被加上引號(以便更容易看到字符串前後的空格)。

    转义序列 [Escape sequences]

    轉義序列顯示在一個綠色框中,並包含它們將匹配的字符類型的描述。

    任意字符 [Any character]

    任意字符類似于轉義序列。它能匹配任意的單個字符。

    字符集 [Character]

    字符集是需要匹配或不需要匹配的单个字符的集合。在图里显示为一个包含文字和转义序列的框。顶部的标签表示字符集将匹配“一个(One of)”包含的项目或“非(None of)”包含的项目。

    子表达式 [Subexpressions]

    子表達式由表達式周圍的虛線輪廓表示。捕獲的子表達式標有它們將在其下被捕獲的組號。

    分支 [Alternation]

    當一個字符串的某一子串具有多種可能時,采用分支結構來匹配。在可視化圖像裏,它會以扇形的形式顯示出來。

    量词 [Quantifiers]

    量詞用來指示表達式的一部分是重複的還是可選的。它們的顯示方式與分支類似,在圖中顯示爲分支路徑(可能會循環回自身)。除非路徑上有箭頭指示,否則首選路徑是繼續直走。

    零次或多次

    貪婪模式
    非貪婪模式

    零次或多次量詞匹配任意數量的重複。

    必須的

    貪婪模式
    非貪婪模式

    必須量詞實現一個或多個重複項匹配。注意:它沒有像零或更多量詞那樣允許被跳過的路徑。

    可選的

    貪婪模式
    非貪婪模式

    可選量詞最多匹配一次。請注意:它沒有必須量詞那樣在自身上循環的路徑。

    範圍

    貪婪模式
    非貪婪模式

    範圍限定符指定可以重复匹配的次数。这里提供的两个例子的範圍都是 {5,10},循環分支的標簽表示該分支可能被執行的次數。這些值比表達式中指定的值小1,因爲模式在重複之前必須匹配一次。因此,在示例裏,初始會匹配一次,然後再被循環匹配4到9次,完成總共5到10次的匹配。

    贊助商廣告
    xxfseo.com