¿Cómo se reemplazan los corchetes "[" "]" en una cadena con Regex?Sé que [ y ] son caracteres especiales en expresiones regulares, pero no puedo encontrar la cadena de escape correcta para poder tratarlos como un carácter específico en una cadena de patrón.
Lo que quiero hacer, como ejemplo, es convertir "[1 1 1]" a "1 1 1".
Re: ¿Cómo se reemplazan los corchetes "[" "]" en una cadena con Regex?Para algo tan simple, ¿no puedes simplemente usar un sustituto?
a = "[1 1 1]";
b = substitute(a, "[", "", "]", "");
show(b);
"1 1 1"
Re: ¿Cómo se reemplazan los corchetes "[" "]" en una cadena con Regex?quizás Problema de expresión regular con caracteres escapados
Probablemente esté luchando contra el escape de JMP que se mezcla con el escape de expresiones regulares @paul_vezzetti .
Las cadenas JMP hacen un caso especial de \[ y ]\ en cualquier sitio en una cadena JMP para desactivar el escape de JMP.
intente \!\[ y simplemente use un simple ] . Regex no debería necesitar escapar del ] a menos que esté en una [clase de caracteres].
regex("[1 2 3]","\!\[(.*)]","\1")"1 2 3"
\!\ es el escape de JMP para hacer una barra invertida literal. Regex luego ve el \[ y se comporta como se esperaba.
Alternativamente, podría usar \[ ... ]\ , pero crea peores problemas si realmente necesita ]\ en la expresión regular y parece menos claro:
regex("[1 2 3]","\[\[(.*)]]\","\1")Espero que JMP obtenga una cadena entre comillas regulares para resolver este problema de doble escape.