小编Xud*_*nax的帖子

使用正则表达式匹配 LaTeX 保留字符

我有一个 HTML 到 LaTeX 解析器,专门用于它应该做的事情(将 HTML 片段转换为 LaTeX 片段),但是填充变量有一个小问题。问题是变量应该允许包含 LaTeX 保留字符(即# $ % ^ & _ { } ~ \)。这些需要转义,这样它们就不会杀死我们的 LaTeX 渲染器。

处理转换的程序和所有内容都是用 Python 编写的,所以我试图找到一个很好的解决方案。我的第一个想法是简单地执行 a .replace(),但替换不允许您仅在第一个不是 a 时进行匹配\。我的第二次尝试是正则表达式,但我惨败了。

我想出的正则表达式是([^\][#\$%\^&_\{\}~\\]). \我希望这能匹配任何保留字符,但前提是它前面没有 a 。不幸的是,这与我输入文本中的单个字符匹配。我还尝试了这个正则表达式的不同变体,但我无法让它工作。这些变化主要包括在正则表达式的第二部分中删除/添加斜杠。

任何人都可以帮忙解决这个正则表达式吗?

编辑哎呀,我似乎也包括了斜线。显示了当我发布此内容时我是多么清醒:) 在我的情况下,它们不应该被转义,但从答案中的正则表达式中删除它们相对容易。谢谢大家!

python regex latex

4
推荐指数
1
解决办法
1182
查看次数

标签 统计

latex ×1

python ×1

regex ×1