Perl (5.18, at least) does let you (ab)use named groups to provide match-part identification.
Given `(?<g1>Sat)urday|(?<g2>Sun)day`, and a successful match, either `$+{g1}` or `$+{g2}` will hold the relevant subpart.
Quickie demo script:
my $re = "(?<g1>Sat)urday|(?<g2>Sun)day";
foreach my $d (qw(Friday Sunday Thursday Saturday)) {
my $out = '<default>';
if ($d =~ /$re/) {
if ($+{g1}) { $out = 'Saturday' }
elsif ($+{g2}) { $out = 'Sunday' }
}
print "$d routes to $out\n";
}