我试图匹配数学方程式中包含的所有下划线(由数学分隔符包围)$
,并在它们周围添加空格。
例如,在数学等式中:
$(x_0, x_1, \dots, x_n)$
我希望最终的结果是
$(x _ 0, x _ 1, \dots, x _ n)$
到目前为止,我已经想出了一个正则表达式
\$([^\$]*)_([^\$]*)\$
并尝试用 替换$$1 _ $2$
。
这种方法确实可行,但只能匹配单个下划线。在上面的例子中,我得到了
$(x_0, x_1, \dots, x _ n)$
有没有办法匹配每一个_
并一次性替换它们_
?如果这在正则表达式中不可能实现,我想我必须寻找其他方法。
PS. 我之所以需要这个,是因为 markdown 解析器有时会匹配_
强调内容并破坏数学方程的格式。如果有人知道一个有效的解决方法(除了使用\_
- 我使用 obsidian,这个方法会破坏那里的方程),那也很好。
在 VSCode 中,它支持在单个文件搜索中使用非固定宽度后向查找(出于某种原因,全局搜索不支持此功能),这意味着您可以使用以下正则表达式来定位由数学分隔符括起来的下划线
$...$
并将其替换为
以下是演示