我试图通过在Python中编写类似于latex2html的东西来学习正则表达式。但是我很难弄清楚如何匹配乳胶方程式 - 形式为$ ... $的地方......可以是LaTeX中的任何表达式,同时允许转义序列。
换句话说,问题是$ \ $$。我希望正则表达式匹配$ \ $$,而不仅仅是$ \ $。
答案 0 :(得分:3)
您可以使用负向lookbehind来确保您不匹配\ $。类似的东西:
\\$.*?(?<!\\\\)\\$
E.g。
print re.findall("\\$.*?(?<!\\\\)\\$", "$x= \$12$ and $x=12$")
会找到两个匹配项:$x= \$12$
和$x=12$
答案 1 :(得分:0)
Petar的答案应该让你开始。
查看一些用于处理LaTeX标记的Python代码示例可能也会有所帮助:http://hg.python.org/cpython/file/bf7329190ca6/Tools/scripts/texcheck.py