Javascript 将两个单独的正则表达式替换为一个字符串中的方括号

Javascript 将两个单独的正则表达式替换为一个字符串中的方括号,javascript,regex,latex,Javascript,Regex,Latex,我试图用两个分数“x={2x-21}/{x+12}+{x+3}/{x-5}”替换字符串 “x=\frac{2x-21}{x+12}+\frac{x+3}{x-5}”(即从jqMath转换为LaTex) 为了实现这一点,我编写了以下代码: var initValue = "(\{.*\}(?=\/))\/(\{.*\})"; var newValue = "\\frac$1$2"; var re = new RegExp (initValue,"g"); var resultString = gi

我试图用两个分数“x={2x-21}/{x+12}+{x+3}/{x-5}”替换字符串 “x=\frac{2x-21}{x+12}+\frac{x+3}{x-5}”(即从jqMath转换为LaTex)

为了实现这一点,我编写了以下代码:

var initValue = "(\{.*\}(?=\/))\/(\{.*\})";
var newValue = "\\frac$1$2";
var re = new RegExp (initValue,"g");
var resultString = givenString.replace(re,newValue);
return resultString;
这段代码似乎只适用于只有一个分数的字符串(例如,“x={2x-21}/{x+12}”),但当我尝试将其应用于有两个分数的示例时,结果是x=\frac{2x-21}/{x+12}+{x+3}{x-5}。据我所知,正则表达式引擎捕获{2x-21}/{x+12}+{x+3}作为第一个组,{x-5}作为第二个组。有什么方法可以得到正则表达式想要的结果吗

同样的问题也适用于具有几个非嵌套分隔符的其他模式,例如:“我喜欢咖啡(拿铁除外)和茶(包括薄荷茶)”。是否可以将这两条语句都用括号括起来

如果没有,我可能必须为此编写一个函数(这是可以的,但我想确保这是正确的方法)

试试这个。请参阅演示。通过
\\frac$1$2
重新安装


@Anastasia很高兴它起作用了。我以为你只会接受Grey的帮助。:p
({[^}]+})\/({[^}]+})