使用javascript和regex将文本更改为内联TeX
Change text to inline TeX with javascript and regex
我使用正则表达式
/'$([^$]*)'$/g
用latex替换两个$中的文本。
在javascript中,我使用
text.replace(/'$([^$]*)'$/g, function (str, match) {
return changeToTeX(match);
}
它几乎可以正常工作,但是,例如,这个文本
价格在400到500美元之间。
会弄乱,因为它认为应该将400 and
转换为latex,因为该文本位于美元符号之间。
也许这是不可能修复的。我刚刚检查了math.stackexchange.com,它支持相同的行为,美元符号内的文本被latex替换,但这里同样的问题发生在美元符号之间的所有文本被解释为latex。
如果在$...$
中只有数字,则使用
/'$('d+)'$/g
,其中'd+
匹配1个或多个数字。内部的模式可以增强以匹配任何类型的数字(参见用正则表达式匹配浮点数)。
要匹配除$
和空格以外的任何内容,请使用
/'$([^'s$]*)'$/g
查看这个正则表达式演示
如果只需要在第一个$
之后和最后一个$
之前的字字符,可以使用
/'B'$'b([^$]*)'b'$'B/g
查看另一个regex演示
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- Sails.js:同时发布文本输入和一个文件
- 当鼠标悬停在文本中的单词上时显示警报
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 将纯文本URL转换为可单击链接
- 如何使用nodes和.createElement(“b”)将文本加粗
- 使用javascript和regex将文本更改为内联TeX