如何用正則表達式替換字符串中的方括號“[”“]”?我知道 [ 和 ] 是正則表達式中的特殊字符,但我想不出正確的轉義字符串能夠將它們視為模式字符串中的特定字符。
例如,我想做的是將“[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 得到一個正則表達式引用的字符串來解決這個雙重轉義問題。