以此为例:regex = re.compile('\((.*)\)')
里面嵌套的那对括号是用于识别group的,所以至多有group(1);
compile是编译正则表达式,生成pattern对象;
pattern.search(S)就是在字符串S中寻找匹配之前生成pattern的子串;
而group和groups是两个不同的函数:
一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。
m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(1), m.group(2), ...)