如何将regex匹配并替换为katex



更新

function test() {
  var text = "3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i 50 50 3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i [x = - -----------------, x = -----------------] 50 50 3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i 50 50i";
  var alter = text.replace("()","{}").replace(/(d+)?([sqrt])/g,"\");//i need a answer 3\sqrt{11}
  alert(alter);
  katex.render(alter, document.getElementById('demo'));
  }
test();
<script src="https://khan.github.io/KaTeX/bower_components/katex/dist/katex.min.js"></script>
<link href="https://khan.github.io/KaTeX/bower_components/katex/dist/katex.min.css" rel="stylesheet"/>
<p id="demo"></p>

我在匹配中有字符串3sqrt(11),并使用regex替换。因为我是通过katex formet获得输出的。我尝试了以下脚本:

function test() {
  var text = "3sqrt(11)";
  var alter = text.replace("()","{}").replace(/(d+)?([sqrt])/g,"\");//i need a answer 3\sqrt{11}
  alert(alter);
  katex.render(alter, document.getElementById('demo'));
  }
test();
<script src="https://khan.github.io/KaTeX/bower_components/katex/dist/katex.min.js"></script>
<link href="https://khan.github.io/KaTeX/bower_components/katex/dist/katex.min.css" rel="stylesheet"/>
<p id="demo"></p>

您可以使用捕获的组在单个.replace调用中执行此操作:

function test() {
  var text = "3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i 50 50 3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i [x = - -----------------, x = -----------------] 50 50 3 sqrt(11) %i - 1 1 + 3 sqrt(11) %i 50 50i";
  
  var alter  = text.replace(/(d+)s*(sqrt)((d+))/g, "$1\\$2{$3}")
  console.log(alter);
}
test();

在第一组中,我们正在匹配&捕获CCD_ 3。在第二组中,我们匹配(,然后是一些数字,然后是)

然后在替换中,我们在第一组反向引用(即$1(之前添加\,并将$2包裹在{}周围。

相关内容

  • 没有找到相关文章

最新更新