Estoy escribiendo algo para reemplazar los nombres de las columnas según una coincidencia de expresiones regulares. Repito todas las columnas y las expresiones regulares coinciden con una nueva cadena. Funciona bien y es útil para acortar nombres de columnas, excepto cuando reemplazo una cadena que comienza con un número; esto se debe a que la referencia inversa se estropea (\1 se convierte en \133 en el caso siguiente)
En Python, existe una "referencia inversa no ambigua" para solucionar este problema. ¿Ocurre lo mismo en JSL? Leí en alguna parte que tal vez usa referencias retrospectivas de tipo Perl, pero no pude encontrar dónde está documentado.
Gracias,
Durazno
colName = "COLUMNNAMETEST LONGNAMESHORTEN33339E0HS KEEPTHIS";
Rename_regx = "LONGNAMESHORTEN2339E0HS111";
Rename_to = "39E0H";
newname=Regex( colName,
"(.*?)(" || Rename_regx || ")(.*)", // match
"\1" || Rename_to || "\3") // replace match with
// "\g<1>" || Rename_to || "\g<3>") // python like unambiguous doesn't owrk