Hello Sarah,
This may sound like heresy, but actually you don’t need any lookaround assertions here. Building on the insights from other monks above, but removing the lookarounds and instead adding capturing parentheses:
0:24 >perl -wE "my $s = qq[dogcat\n42\nbirdfish]; say qq[\nAh! The me +aning of life is $1!] if $s =~ /dog.*?(\d+).*fish/s;" Ah! The meaning of life is 42! 0:25 >
Lookarounds are documented in perlre#Extended-Patterns. In particular:
Lookaround assertions are zero-width patterns which match a specific pattern without including it in $&. (Emphasis added)
Unless you need to exclude the pattern from $&, you probably don’t need positive lookaround assertions. (Negative lookarounds are a different matter.)
Hope that’s of interest,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: Positive lookbehind and lookahead confusion
by Athanasius
in thread Positive lookbehind and lookahead confusion
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |