Python Regex-- TypeError:需要一个整数

zar*_*ara 5 python regex typeerror

我收到TypeError的.match正则表达式模块函数的错误:需要一个整数.

这是我的代码:

hAndL = hAndL.replace('epsilo\ell','epsilon')
pattern = re.compile("\frac{.*?}{ \frac{.*?}{.*?}}")
matching = pattern.match(pattern,hAndL)
Run Code Online (Sandbox Code Playgroud)

hAndL是一个字符串,模式是一个..模式.

我不确定为什么会发生这种错误,感谢任何帮助!

jon*_*rpe 7

当您re.compile使用正则表达式时,您不需要将正则表达式对象传递回自身.根据文件:

序列

prog = re.compile(pattern)
result = prog.match(string)
Run Code Online (Sandbox Code Playgroud)

相当于

result = re.match(pattern, string)
Run Code Online (Sandbox Code Playgroud)

pattern已经提供,所以在您的示例:

pattern.match(pattern, hAndL)
Run Code Online (Sandbox Code Playgroud)

相当于:

re.match(pattern, pattern, hAndL)
                # ^ passing pattern twice
                         # ^ hAndL becomes third parameter
Run Code Online (Sandbox Code Playgroud)

其中第三个参数re.matchflags,必须是整数.相反,你应该这样做:

pattern.match(hAndL)
Run Code Online (Sandbox Code Playgroud)