こんにちは、Excel数式のセル名の出現をシート名の代わりにエイリアスに置き換える正規表現を作成しようとしています。Excelの解析にJs XLSを使用しています。元 :
+AA74/AVERAGE('b'!Z40:AA40)
必要な出力
+a_AA74/AVERAGE(b_Z40:b_AA40)
現在の出力
+a_AA74/AVERAGE(b_Z40:a_AA40)
ここで、「a」は数式が書き込まれている現在のシート、「b」は他のシートの名前です。各セル名の前にシート名を追加したいと思います。ただし、このタイプの数式では、範囲数式に開始範囲シート名を含める必要があります。
私が使用している現在のコード
var re = new RegExp("A.","g");
res = res.replace(re, "a_");
var re = new RegExp("A!","g");
res = res.replace(re, "a_");
var re = new RegExp("'B'!","g");
res = res.replace(re, "b_");
var re = new RegExp("'B'.","g");
res = res.replace(re, "b_");
res = res.replace(/\s/g,"");
res = res.replace(/(^|[^_A-Z])([A-Z]+\d+)/g, "$1"+'a_'+"$2");