我做了以下事情:
UIPercentDrivenInteractiveTransition
以下给出了答案“ a”:
a = re.compile("(ab*?)")
b = a.search("abbbbbbb")
令人惊讶的是,这也给了我答案“ a”:
b.group(0)
执行此操作时,我得到一个仅包含('a',)的元组:
b.group(1)
如果只有一组,为什么对索引0和1给出重复的值?它不应该引发IndexError为1吗?
答案 0 :(得分:2)
help(b.group)
Help on built-in function group:
group(...) method of _sre.SRE_Match instance
group([group1, ...]) -> str or tuple.
Return subgroup(s) of the match by indices or names.
For 0 returns the entire match.
正则表达式开始将捕获组编号为1。尝试访问组0将为您提供整个匹配项(所有组),但是由于表达式只有一组,因此输出是相同的。
示例:
>>> regex = re.compile("(first) (second)")
>>> results = regex.search("first second")
>>> results.group(1)
'first'
>>> results.group(2)
'second'
>>> results.group(0)
'first second'