re = ((a*)(b*)(c))* $substring = aacbbbcac = test.pl Group 0: $substring = ac = ac Group 1: $substring = a = a Group 2: $substring = = Group 3: <> $substring = c = c Group 4: [ "aacbbbcac", "ac", "a", undef, "c" ]