You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式为数学公式中所有下划线添加前后空格的实现方案

处理Obsidian中公式下划线的解决方案

正则表达式一次性替换方案

核心是精准匹配$包裹区域内的所有下划线,无需多次替换:

  • 查找模式(需开启全局替换):
    (?<=\$[^$]*?)_(?=[^$]*?\$)
    
  • 替换模式:
    _ 
    
    (注意是「空格+下划线+空格」的格式)

这个正则利用正向/反向断言,只匹配处于$包裹内容内部的下划线,全局替换一次就能处理所有目标下划线,不会误改公式外的内容。

如果你的正则引擎不支持断言,也可以用分组循环替换:

  • 查找模式:
    (\$[^$_]*?)_([^$]*?\$)
    
  • 替换模式:
    $1 _ $2
    
    重复点击「全部替换」直到没有匹配项,也能批量处理所有下划线。

Obsidian更省心的替代方法

不用修改下划线,直接调整公式的包裹符号:

  • 将单行公式的单美元$...$改成双美元$$...$$,Obsidian对$$包裹的块级公式不会解析内部下划线为强调格式,公式能正常显示。
  • 示例:把$(x_0, x_1, \dots, x_n)$改为$$(x_0, x_1, \dots, x_n)$$,无需改动下划线即可解决显示问题。

内容的提问来源于stack exchange,提问作者zxcvber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 10:32:32