0

I am working with regular expressions and am struggling to understand a particular output.

Case 1:

>>> m = re.match("(abc)+", "abc")
>>> m.groups()
('abc',)

Case 2:

>>> m = re.match("([abc])+", "abc")
>>> m.groups()
('c',)

In Case 1 above, I do understand how m.groups() returns ('abc',) (a tuple with the matched string for group 1, the only group in the RE).

However, in Case 2 above, where I put 'abc' in the RE inside a character class as [abc], I do not understand why does m.groups() return ('c',). I would have still expected the same tuple returned as Case 1, i.e. ('abc',)

Could anyone please help me understand why does m.groups() return ('c',) in Case 2.

Nabeel M.
  • 25
  • 1
  • 8

0 Answers0