Python 匹配乳胶的正则表达式

Python 匹配乳胶的正则表达式,python,regex,Python,Regex,我试图通过用Python编写类似于latex2html的东西来学习正则表达式。但我很难弄清楚如何匹配乳胶方程——形式为$…$的东西哪里可以是LaTeX中的任何表达式,同时允许转义序列 换句话说,问题案例是$\$$。我希望正则表达式与$\$$匹配,而不仅仅是$\$ 您可以使用负回溯来确保与\$不匹配。比如: \\$.*?(?<!\\\\)\\$ \\$*(? 例如 print re.findall(“\\$!”(?Petar的答案应该可以让您开始 查看一些用于处理LaTeX标记的Pytho

我试图通过用Python编写类似于latex2html的东西来学习正则表达式。但我很难弄清楚如何匹配乳胶方程——形式为$…$的东西哪里可以是LaTeX中的任何表达式,同时允许转义序列


换句话说,问题案例是$\$$。我希望正则表达式与$\$$匹配,而不仅仅是$\$

您可以使用负回溯来确保与\$不匹配。比如:

\\$.*?(?<!\\\\)\\$
\\$*(?
例如


print re.findall(“\\$!”(?Petar的答案应该可以让您开始


查看一些用于处理LaTeX标记的Python代码的示例也可能会有所帮助:

正则表达式可能不是解析LaTeX的最佳工具。使用完整的LaTeX解析程序可能会更成功。我现在只是解析出方程,并通过LaTeX/dvips/convert运行它们,所以theoret正则表达式的ical限制还不是问题……如果文本中有\$在数学之外,这将打破。在这种情况下,您需要
r”(?
print re.findall("\\$.*?(?<!\\\\)\\$", "$x= \$12$ and $x=12$")