3

在 python 中,我可以像这样使用正则表达式:

prog = re.compile(pattern)
result = prog.match(string)

我可以 result.groups(0), result.groups(0), ... 等等。

如何找出结果中有多少组?我试过'len(result.groups)',但我得到:

TypeError: object of type 'builtin_function_or_method' has no len()
4

3 回答 3

3

你正在尝试的是正确的,但你只是错过了括号:

尝试:

len(result.groups())

那应该做的工作。正如错误所暗示的,您正在尝试获取函数的长度。您想要的是函数执行后返回的值(在本例中为元组)的长度。

于 2012-12-18T03:10:38.650 回答
0

试试这个 :-

result.lastindex. 

另请参阅http://docs.python.org/dev/library/re.html

于 2012-12-18T03:10:10.473 回答
0

其实你可以调用dir(result)/help(result),然后你会找到你可以调用的方法。正如其他人所建议的那样,groups()

于 2012-12-18T03:12:26.670 回答