Привет, может кто-нибудь помочь мне о регулярном выражении. это строкаРегулярное выражение Javascript со специальным символом между
((11A1:I19 + 11A1:K19 + 11A1:L19 + 11A1:I20 + 11A1:K20) - (11A1:N19 + 11A1:N20))
и это регулярное выражение
/([0-9a-z])\w+:\w+([0-9-a-z])/g
Я хочу взять 11A1: I19, 11A1: K19, и т.д .. и заменить его со значениями, так что строка будет выглядеть следующим образом (1767 + 154 + 1123 - (151-17)) Это полный код
$f.each(function() {
var formula = $(this).data("formula");
var formula = $f.data("formula");
formula.split(/([0-9a-z])\w+:\w+([0-9-a-z])/g)
.forEach(function(el) {
if (el) {
var hy = el.split(':');
let v = $('[data-sheet="' + hy[0] + '"][data-cell="' + hy[1] + '"]').val();
formula = formula.replace(el, v);
}
});
console.log(formula)
var result = eval(formula);
$f.val(result)
});
Какую часть исходной строки вы хотите извлечь? Регулярное выражение принимает только первый символ ([0-9a-z]) и последний. –
В этой строке ... "((11A1: I19 + 11A1: K19 + 11A1: L19 + 11A1: I20 + 11A1: K20) - (11A1: N19 + 11A1: N20))« Я хочу получить: 11A1: I19 11A1: K19 .... .... ... –