繁体   English   中英

如何在JavaScript中覆盖RegExp?

[英]How do I override RegExp in Javascript?

我正在使用一个名为MathJax的Javascript库,该库允许您在HTML中使用LaTex和其他数学标记语言。 我正在尝试在Javascript中使用它,但是正则表达式正在妨碍您。 这是我的代码:

function sendTex()
{
    var latexStuff = $("#texField").val();
    var latexString = "When $a \ne 0$, there are two solutions to \*(ax^2 + bx + c = 0\*)       and they are
    $$x = {-b \pm \qrt{b^2-4ac} \over 2a}.$$";
    $("#texVersion").append(latexString);
}

在页面上添加新数学后,您需要告诉MathJax处理该新数学。 有关详细信息,请参见MathJax文档 主要思想是使用

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);

当您希望MathJax在页面上处理新数学时。 就您而言,您可以尝试

function sendTex()
{
  var latexStuff = $("#texField").val();
  var latexString = "When $a \\ne 0$, there are two solutions to \\(ax^2 + bx + c = 0\\)" +
    " and they are $$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$";
  $("#texVersion").append(latexString);
  MathJax.Hub.Queue(["Typeset",MathJax.Hub,"texVersion"]);
}

看看是否更适合您。 请注意,您需要将反斜杠加倍,因为在JavaScript字符串中,反斜杠是特殊字符,因此要获得文字反斜杠,您需要使用两个反斜杠。 您还可以使用\\qrt而不是\\sqrt ,还可以使用\\*(...\\*)而不是通常的\\(...\\) (但是您可能已经配置了MathJax以使用其他定界符)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM