Ich schreibe etwas, um Spaltennamen basierend auf einer Regex-Übereinstimmung zu ersetzen. Ich durchlaufe alle Spalten und vergleiche den regulären Ausdruck mit einer neuen Zeichenfolge. Funktioniert gut und ist praktisch zum Verkürzen von Spaltennamen – außer wenn ich sie durch eine Zeichenfolge ersetze, die mit einer Zahl beginnt – das liegt daran, dass die Rückreferenz durcheinander gerät (\1 wird im folgenden Fall zu \133).
In Python gibt es eine „eindeutige Rückreferenz“, um dies zu umgehen. Gibt es dasselbe in JSL? Ich habe irgendwo gelesen, dass es vielleicht Rückverweise vom Typ Perl verwendet, konnte aber nicht finden, wo dies dokumentiert ist.
Danke,
Pfirsich
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