import re
regex = re.compile('[a-zA-Z_]\w* +([a-zA-Z_]\w*)( *, *[a-zA-Z_]\w*)*;')
src = ' A a, b, c;'
result = regex.findall(src)
print(result)
[('a', ', c')]
, b
没有被捕获?如果您的捕获组按模式重复(您在第二个捕获组上使用了 * 量词),则仅存储与其匹配的最后一个值。 因此 'b' 被正确捕获,但随后被 c 替换。
要捕获所有组,您应该创建一个循环并使用带有“global”标志的正则表达式。