gpt4 book ai didi

python - Python 中的 RE - lastindex 属性

转载 作者:行者123 更新时间:2023-12-01 05:20:32 25 4
gpt4 key购买 nike

我正在编写有关 Python 的“高级”正则表达式的教程,我无法理解

lastindex

属性。为什么在给定的示例中它始终为 1: http://docs.python.org/2/library/re.html#re.MatchObject.lastindex

我的意思是这个例子:

re.match('((ab))', 'ab').lastindex

为什么是1?第二组也匹配。

最佳答案

lastindex 是最后匹配的组的索引。文档中的示例包括使用 2 个捕获组的示例:

(a)(b)

其中 lastindex 设置为 2,因为最后一个匹配的捕获组是 (b)

当您有可选的捕获组时,该属性会派上用场;比较:

>>> re.match('(required)( optional)?', 'required').lastindex
1
>>> re.match('(required)( optional)?', 'required optional').lastindex
2

当您有嵌套组时,外部组是最后一个匹配的。因此,使用 ((ab))((a)(b)) 时,外部组是组 1,也是最后一个匹配的组。

关于python - Python 中的 RE - lastindex 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22489243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com