javascript - 如何正则表达式匹配并替换为katex

标签 javascript html regex string 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) 匹配并使用正则表达式替换。因为我是通过 katex 格式获取输出的。 我尝试使用以下脚本:

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();

在第一组中,我们正在匹配和捕获 sqrt。在第二组中,我们匹配 ( 后跟一些数字后跟 )

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

关于javascript - 如何正则表达式匹配并替换为katex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673993/

相关文章:

javascript - 如何在minimatch中匹配一次html或js?

javascript - Google-analytics _trackEvent 不会从链接的 JS 文件中调用

html - 我的水平导航栏不会水平显示,为什么?

c# - 如何有条件地控制 ASP.NET 中控件的可见性?

sql - 隔离特定字符串之前开始的字符串

regex - awk unix - 匹配正则表达式 - 正则表达式字符串大小限制 |想法?

javascript - 可靠地获取隐藏元素的高度

javascript - .shift() 之后调用函数

javascript - 在跟随鼠标指针的图像上制作轴引导线

java - 从字符串中提取数据的快速方法