dominic01 has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to get the handle at learning (*SKIP)(*FAIL) to get the variable "look-behind" concept but I am missing something.
$RLine = "R.N. Raox, J. Pure and Appl. Phys."; $Jrnl = "Appl. Phys."; if( $RLine =~ /^(.*?(?:(?: and| &)(*SKIP)(*FAIL))?) (\Q$Jrnl\E)$/ +){ print "11: $1\n"; print "22: $2\n"; print "Matched\n"; } else { print "Not Matched\n"; }
Basically when "and" or "&" comes just before the search pattern, it should not match. In this case if "and" comes anywhere in the line it matches.
$RLine = "R.N. Raox, J. Pure and Appl. Phys."; #Should not match -> Pattern OK $RLine = "R.N. Raox, J. Pure text Appl. Phys."; #Should match -> Pattern OK $RLine = "R.N. Raox, J. Pure and text Appl. Phys."; #Should match but it is not -> Pattern NOT OK $RLine = "R.N. and Raox, J. Pure text Appl. Phys."; #Should match but it is not -> Pattern NOT OK
Could someone help me out please.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Another Look behind
by choroba (Cardinal) on Mar 12, 2015 at 12:47 UTC | |
|
Re: Another Look behind
by ww (Archbishop) on Mar 12, 2015 at 13:12 UTC | |
by AnomalousMonk (Archbishop) on Mar 12, 2015 at 19:15 UTC | |
|
Re: Another Look behind
by AnomalousMonk (Archbishop) on Mar 12, 2015 at 18:50 UTC | |
by dominic01 (Sexton) on Mar 13, 2015 at 16:54 UTC | |
by AnomalousMonk (Archbishop) on Mar 13, 2015 at 21:16 UTC | |
by dominic01 (Sexton) on Mar 16, 2015 at 06:31 UTC |