在允許教師輸入用于分析學生對問題的回答的正則運算式的軟體中,我需要防止使用這 4 個未轉義的字符:
. * ^ $
以下運算式匹配這些未轉義的字符。我怎樣才能重寫它以使其相反,即匹配轉義字符但不匹配未轉義字符?當然,我可以以編程方式執行此操作,但我更愿意直接在該軟體的創作模式下執行此操作,在該模式下我只能輸入一個正則運算式。這是運算式:
/(?<!\\)[\.\^\$\*\ \{\}]/g
在regex101 上可用
uj5u.com熱心網友回復:
您可以使用以下內容:
(?<!\\)(?:\\\\)*\\[.^$* {}]
僅當字符類中的任何字符前面有奇數個反斜杠字符(即,單個反斜杠可以選擇前面有其他轉義字符)時,才匹配該字符類中的任何字符。
注意:.^$* {}只要字符在字符類中,就不需要對其進行轉義。
演示。
分解:
(?<!\\)- 前面沒有反斜杠字符。(?:\\\\)*- 零對或多對反斜杠字符(即轉義的反斜杠)。\\[.^$* {}]- 中的轉義字符.^$* {}。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/385035.html
標籤:正则表达式
上一篇:如何在bash中替換檔案中的單詞
