如何用正規表示式取代字串中的方括號“[”“]”?我知道 [ 和 ] 是正則表達式中的特殊字符,但我無法找到正確的轉義字串來將它們視為模式字串中的特定字符。
舉個例子,我想做的是將「[1 1 1]」轉換為「1 1 1」。
回覆:如何用正規表示式取代字串中的方括號“[”“]”?對於這麼簡單的事情,你不能使用替代品嗎?
a = "[1 1 1]";
b = substitute(a, "[", "", "]", "");
show(b);
"1 1 1"
回覆:如何用正規表示式取代字串中的方括號“[”“]”?或許正規表示式轉義字元問題
您可能正在與 JMP 的轉義與正規表示式轉義混淆@paul_vezzetti 。
JMP 字串是 \[ 和 ]\ 的特例任何地方在 JMP 字串中以關閉 JMP 轉義。
嘗試 \!\[ 並僅使用裸 ] 。 正規表示式不需要轉義 ] ,除非它位於 [字元類別] 中。
regex("[1 2 3]","\!\[(.*)]","\1")“1 2 3”
\!\ 是 JMP 的轉義符,用於產生反斜線。 然後,正規表示式會看到 \[ 並如預期運作。
或者,您可以使用 \[ ... ]\ ,但如果您在正規表示式中實際需要 ]\ 並且似乎不太清楚,它會產生更嚴重的問題:
regex("[1 2 3]","\[\[(.*)]]\","\1")我希望 JMP 獲得一個正規表示式引用的字串來解決這個雙重轉義問題。