使用Python正则表达式简化乳胶分数

使用Python正则表达式简化乳胶分数,python,regex,math,latex,pdflatex,Python,Regex,Math,Latex,Pdflatex,乳胶中的示例代码: %Chebyshev of second kind \begin{equation} \sum_{\ell \hiderel{=} 0}^n\frac{( \ChebyU{\ell}@{x} )^2}*{ \frac{\pi}{2} }*=\frac{ 2^n }{ \frac{\pi}{2} 2^n+1 }\frac{ \ChebyU{n+1}@{x} \ChebyU{n}@{y} - \ChebyU{n}@{x} \ChebyU{n+1}@{y}

乳胶中的示例代码:

%Chebyshev of second kind
\begin{equation}
\sum_{\ell \hiderel{=} 0}^n\frac{( \ChebyU{\ell}@{x}  )^2}*{ \frac{\pi}{2}  }*=\frac{ 2^n  }{ \frac{\pi}{2}   2^n+1  }\frac{ \ChebyU{n+1}@{x}   \ChebyU{n}@{y}  - \ChebyU{n}@{x}   \ChebyU{n+1}@{y}  }{x-y}
\end{equation}
\frac{(\ChebyU{\ell}@{x})^2}*{\frac{\pi}{2}}
是我为这个特定案例寻找的分数。由于它是另一个分数分母中的一个分数,我想使用Python正则表达式将其从
a/(b/c)
更改为
(ac)/b

示例输出:

%Chebyshev of second kind
\begin{equation}
\sum_{\ell \hiderel{=} 0}^n\frac{(2 \ChebyU{\ell}@{x}  )^2}{\pi}*=\frac{ 2^n  }{ \frac{\pi}{2}   2^n+1  }\frac{ \ChebyU{n+1}@{x}   \ChebyU{n}@{y}  - \ChebyU{n}@{x}   \ChebyU{n+1}@{y}  }{x-y}
\end{equation}
最终结果:
\frac{(2\ChebyU{\ell}@{x})^2}{\pi}
是正则表达式应该得到的分数


如何在Python中使用正则表达式来实现这一点?

这里有一个正则表达式应该可以工作。请注意,我对LaTeX表达式进行了更改,因为我认为存在错误(*号)

注意:我没有在你原来的表达中包含空格

astr = '\frac{(\ChebyU{\ell}@{x})^2}{\frac{\pi}{2}}'

import re
pat = re.compile('\\frac\{(.*?)\}\{\\frac\{(.*?)\}\{(.*?)\}\}')
match = pat.match(astr)
if match:
    expr = '\\frac{{{0}*{2}}}{{{1}}}'.format(*match.groups())
    print expr