匹配LaTeX的正则表达式
我正在尝试通过在Python中写类似latex2html的东西来学习正则表达式。但是,我在匹配LaTeX公式时遇到了困难——这些公式的形式是$ ... $,其中的...可以是任何LaTeX表达式,同时还要允许转义序列的存在。
换句话说,我的问题是关于$\$$的。我希望正则表达式能够匹配$\$$,而不仅仅是$\$。
2 个回答
1
Petar的回答可以帮助你入门。
你也可以看看一个处理LaTeX标记的Python代码示例,这可能会对你有帮助: http://hg.python.org/cpython/file/bf7329190ca6/Tools/scripts/texcheck.py
4
你可以使用负向前瞻来确保你不会匹配到 \$. 这就像是:
\\$.*?(?<!\\\\)\\$
举个例子:
print re.findall("\\$.*?(?<!\\\\)\\$", "$x= \$12$ and $x=12$")
这样会找到两个匹配项:$x= \$12$
和 $x=12$