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