in reply to Re: negative lookbehind and VERY strange capture
in thread negative lookbehind and VERY strange capture
Hello Corion
Thank you very much for your suggestion! It helps a lot!
my @tests = ( '"abcd\\\\efgh"', '"abcd\\""', '"abcd\\"efgh"', '"abcd\\\\\\"efgh"', '"abcd\\\\i\\"efgh"', '"abcd\\\\"', ); foreach my $test (@tests) { print "Try for \"$test\":\n"; if ($test =~ /^"((?:[^"\\]|\\["\\])+)"$/) { print "It matches!\n"; print '$1: ' . $1 . "\n"; print '$2: ' . (defined($2) ? "\$2 is defined\n" : "\$2 is NOT def +ined\n"); } else { print "It does not match!\n"; } print "\n"; }
Result:
Try for ""abcd\\efgh"": It matches! $1: abcd\\efgh $2: $2 is NOT defined Try for ""abcd\""": It matches! $1: abcd\" $2: $2 is NOT defined Try for ""abcd\"efgh"": It matches! $1: abcd\"efgh $2: $2 is NOT defined Try for ""abcd\\\"efgh"": It matches! $1: abcd\\\"efgh $2: $2 is NOT defined Try for ""abcd\\i\"efgh"": It matches! $1: abcd\\i\"efgh $2: $2 is NOT defined Try for ""abcd\\"": It matches! $1: abcd\\ $2: $2 is NOT defined
Best regards
Denis
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: negative lookbehind and VERY strange capture
by hippo (Archbishop) on Sep 18, 2016 at 16:12 UTC | |
|
Re^3: negative lookbehind and VERY strange capture
by AnomalousMonk (Archbishop) on Sep 18, 2016 at 18:31 UTC |