Привет, я пытаюсь написать регулярное выражение, чтобы заменить вхождение имени ячейки в формулах Excel псевдонимом вместо имени листа. Я использую Js XLS для разбора Excel. бывший :
+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");