Think about Loose Coupling | |
PerlMonks |
Re: lookbehind regexpby Athanasius (Archbishop) |
on Jun 10, 2019 at 15:01 UTC ( [id://11101204]=note: print w/replies, xml ) | Need Help?? |
Hello cmic, Did you notice that for the line beginning with "TAGS", the capture includes that word? Even though it is non-greedy, (.*?) starts looking at the beginning of the string and eventually settles on the capture string "TAGS text four ", which satisfies both the lookahead (because it is followed by "TAG2") AND the negative lookbehind — because the string (which includes "TAGS") is not preceeded by "TAGS" ! In general, you can’t combine a negative lookbehind assertion with a match-any-character(s) capture. Do this instead:
Update: Actually, in this case you don’t need a lookahead assertion either. This does just as well:
Hope that helps,
In Section
Seekers of Perl Wisdom
|
|