Регулярное выражение функции

Пишу сайт, понадобилось сделать регулярное выражение функции split, а точнее менять split(a, b) на a.split(b). Написал регулярное выражение и функцию, которая его обрабатывает

function expression(v) {
    var splitmatch = v.match(/split\(.*\)/g) || [];
    splitmatch.forEach(function (e) {
        var thisfunc = parseFunction(e);
        alert(thisfunc.params[1]);
        v=v.replace(e, thisfunc.params[0]+".split("+thisfunc.params[1])+")";
    })
return v;
}

Но есть одна проблема - регулярное выражение после закрывающей скобки продолжает искать дальше, например expression("split(a,b)") вернёт a.split(b), но expression("split(a,b)[0]") вернёт a.split(b[0]) Что можно сделать, чтобы исправить это?

parseFunction(value) всё в порядке, функция возвращает объект из названия функции и массив параметров, переданных ей)


Ответы (0 шт):