正規表現の一致に基づいて列名を置き換えるスクリプトを作成しています。 すべての列を反復処理し、正規表現を新しい文字列と一致させます。 番号で始まる文字列に置き換える場合を除いて、列名を短縮するのにうまく機能し、便利です。これは、後方参照が混乱するためです(以下の場合、\1 が \133 になります)。
Python には、これを回避するための「曖昧でない後方参照」があります。 JSLでも同じことはありますか? Perl 型の後方参照を使用している可能性があるとどこかで読みましたが、これが文書化されている場所が見つかりませんでした。
ありがとう、
桃
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