首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调整匹配并替换为katex

如何调整匹配并替换为katex
EN

Stack Overflow用户
提问于 2016-09-24 08:00:30
回答 1查看 263关注 0票数 2

更新

代码语言:javascript
复制
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();
代码语言:javascript
复制
<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 .Because,我得到输出通过katex。我试用了以下脚本:

代码语言:javascript
复制
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();
代码语言:javascript
复制
<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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-24 08:23:33

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

代码语言:javascript
复制
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();

在这里的第一组,我们是匹配和捕获sqrt。在第二组中,我们匹配(,然后是一些数字,然后是)

在替换中,我们在第一组反向引用( $1 )之前添加$1,并将$2封装在{}周围。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39673993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档