Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re:^4 positions of all regexp matches

by flounder99 (Friar)
on Oct 14, 2003 at 19:57 UTC ( [id://299238]=note: print w/replies, xml ) Need Help??


in reply to •Re: Re: •Re: positions of all regexp matches
in thread positions of all regexp matches

You are right about the not finding the \n since I didn't add an s at the end of the m//. But if you don't have the . in there it will find the positions twice.
use re 'eval'; my $string = "he\nllo world ba\nllloon"; my $regex = qr/\nll/; my @matches; () = $string =~ /(?=$regex)(?{push @matches, pos})./sg; print "with .\n", join "\n", @matches; @matches = (); () = $string =~ /(?=$regex)(?{push @matches, pos})/sg; print "\n\nwithout .\n", join "\n", @matches; __END__ with . 2 15 without . 2 2 15 15

--

flounder

Replies are listed 'Best First'.
•Re: Re:^4 positions of all regexp matches
by merlyn (Sage) on Oct 14, 2003 at 20:04 UTC
      Maybe it's something to do with the RE engine trying some optimization.

      The RE engine can execute a code block more than once in a single pattern match attempt, and this would lead to multiple entries for a given pos.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://299238]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-20 06:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found