如何用 Regex 替换字符串中的方括号“[”“]”?我知道 [ 和 ] 是正则表达式中的特殊字符,但我想不出正确的转义字符串能够将它们视为模式字符串中的特定字符。
例如,我想要做的是将“[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 得到一个正则表达式引用的字符串来解决这个双重转义问题。