in reply to Precise backreference semantics in Perl regular expressions
Output:for my $regexp (qr/^((a*)b|a*b?d)*c\2$/, qr/^(a*b?d|(a*)b)*c\2$/) { for my $string (qw( aabadcaa aababdcaa )) { say $string =~ /$regexp/ ? 'Yes' : 'No'; } }
Yes No Yes Yes
If you want to know what Perl's regex engine does, not just guess, run the script with
use re 'debug';
|
|---|