【发布时间】:2014-01-20 23:54:14
【问题描述】:
我有一些文字:
\frac{A}{B}
我需要将此文本转换为表单:
<mfrac>
<mrow>
A
</mrow>
<mrow>
B
</mrow>
</mfrac>
我必须使用 Python 和正则表达式。 A 和 B 可以是进一步的分数,所以函数必须是递归的,例如 text:
\frac{1+x}{1+\frac{1}{x}}
必须改成
<mfrac>
<mrow>
1+x
</mrow>
<mrow>
1+
<mfrac>
<mrow>
1
</mrow>
<mrow>
x
</mrow>
</mfrac>
</mrow>
</mfrac>
请帮助使用正则表达式:)
【问题讨论】:
-
您不能使用 re 模块在完整的正则表达式中执行此操作,因为 re 模块没有递归功能。但是,您可以安装并尝试实现此功能的替代正则表达式模块(名为:regex):更多信息:pypi.python.org/pypi/regex
-
@CasimiretHippolyte 具有递归功能的正则表达式是什么样的?
-
大概您所需的输出只是使用元语法,而您并没有真正生成
<mrow> 1+x </mrow>? (MathML 应该是<mrow><mn>1</mn><mo>+</mo><mi>x</mi></mrow>)
标签: python regex latex fractions mathml