这是我的测试代码:
\thinhline
\\[-16pt]
Jacobi
& $\JacobiP{\alpha}{\beta}{n}@{x}$
& $(-1,1)$
& $(1 - x)^{\alpha} (1 + x)^{\beta}$
& $\begin{cases} \ifrac{2^{\alpha+\beta+1}\EulerGamma@{\alpha+1}\EulerGamma@{\beta+1}}{\EulerGamma@{\alpha+\beta+2}}, &\text{$n = 0$} \end{cases}$
& $\begin{cases} \ifrac{2^{\alpha+\beta+1}\EulerGamma@{\alpha+1}\EulerGamma@{\beta+1}}{\EulerGamma@{\alpha+\beta+2}}, & \text{$n = 0$}\end{cases}$
& $\dfrac{\pochhammer{n+\alpha+\beta+1}{n}}{2^n n!}$
& $\dfrac{n (\alpha-\beta)}{2n+\alpha+\beta}$
& $\alpha,\beta > -1$
\\
\thinhline
\\[-16pt]
Ultraspherical(Gegenbauer)
& $\Ultraspherical{\lambda}{n}@{x}$
& $(-1,1)$
& $(1 - x^2)^{\lambda-\frac{1}{2}}$
& $\dfrac{2^{1-2\lambda} \pi \EulerGamma@{n+2\lambda}}
{(n+\lambda) \left( \EulerGamma@{\lambda} \right)^2 n!}$
& $\dfrac{2^n \pochhammer{\lambda}{n}}{n!}$ & $0$
& $\lambda > -\tfrac{1}{2}, \lambda \ne 0 $
\\
我创建了一个模式来识别“\thinhline\\[-16pt]”和“\\”之间所有内容的模式。
我如何找到找到的模式实例中以“&”开头的行的行数?
例如,我想为示例代码返回这个:
Jacobi: 8
Ultraspherical(Gegenbauer): 6
请您参考如下方法:
尝试使用 MULTILINE (re.M) 标志的正则表达式 ^\s*&:
import re
text = """
& $\Ultraspherical{\lambda}{n}@{x}$
& $(-1,1)$
& $(1 - x^2)^{\lambda-\frac{1}{2}}$
& $\dfrac{2^{1-2\lambda} \pi \EulerGamma@{n+2\lambda}}
{(n+\lambda) \left( \EulerGamma@{\lambda} \right)^2 n!}$
& $\dfrac{2^n \pochhammer{\lambda}{n}}{n!}$ & $0$
& $\lambda > -\tfrac{1}{2}, \lambda \ne 0 $
"""
print(len(re.findall('^\s*&', text, re.M)))
打印6,这是以&开头的行数
