In [29]: re.findall(\"([abc])+\",\"abc\") Out[29]: [\'c\'] In [30]: re.findall(\"[abc]+\",\"abc\") Out[30]: [\'abc\']
Confused by the grouped one.
In the first example you have a repeated captured group which only capture the last iteration. Here c.
c
([abc])+
Debuggex Demo
In the second example you are matching a single character in the list one and unlimited times.
[abc]+