рони,
Большое спасибо за подсказку. Немного модифицировав скрипт я сделал так:
function balance(a) {
for (var d = /(\u0028)[^\u0028]*?$/,
e = {
"(": /\u0028([^\u002F]*?)\u0029/ //скобка которая остается
}, b, c = !0; c;) b = a, a = a.replace(d, function (a, b) {
return a.replace(e[b], "[$1]")
}), b == a && (c = !1);
return a
};
var qq = balance("int(-(-(4*x**2+12))/(x**3+6*x))=5+((2*log(x))/(log(x**2+6)))");
var pp1 = new RegExp("\\[(.*)\\]\\/\\[(.*)\\]", "g");
qq = qq.replace(pp1, "\\frac{$1}{$2}");
var pp21 = new RegExp("\\[", "g");
var pp22 = new RegExp("\\]", "g");
qq = qq.replace(pp21, "(");
qq = qq.replace(pp22, ")");
alert(qq);
Но он работает только для одной дроби. Возможно сделать, если в строке нескольких дробей? Пока вижу одно решение - порезать строку на части с дробями, но может есть попроще вариант
kostyanet,
Надо будет почитать