Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^10: Understanding a portion of perlretut

by choroba (Cardinal)
on Dec 10, 2015 at 13:02 UTC ( [id://1149891]=note: print w/replies, xml ) Need Help??


in reply to Re^9: Understanding a portion of perlretut
in thread Understanding a portion on the Perlretut

In the first case, the engine starts from the left and finds a match, repeating (\w\w\w) 3 times:
uvXYZdabcXYZfg ^ ^ | | A B

The engine than starts to match at B + 1, and finds no such a match.

In the second case, the engine starts from the left as well, but finds no match:

uvXYZdabcXYZfg ^ | A

So, it moves to A + 1 (still no match), and then A + 2, where it can match with (abc)* repeating zero times:

uvXYZdabcXYZfg ^ | A=B

After matching, it continues (because of /g) to B + 3 (no match), and at B + 4 it finally succeeds with

uvXYZdabcXYZfg ^ ^ | | A B

Better now?

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^11: Understanding a portion of perlretut
by Athanasius (Archbishop) on Dec 10, 2015 at 13:27 UTC

    Yes, thanks, I’m starting to see some light. :-) But:

    In the first case, the engine starts from the left and finds a match, repeating (\w\w\w) 3 times:

    Makes sense, but then, if the $1 match effectively ends up as (\w\w\w){3}, shouldn’t $1 contain uvXYZdabc? Or, conversely, if the ? quantifier following the * causes it to find the minimum string in uvXYZdabc matching (\w\w\w)*, shouldn’t that be "", the null string? Why does $1 match abc here?

    Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

      The repeated capturing overwrites the value in $1. If you want the repetition inside of a capture variable, you'll have to use something like ((?:\w\w\w)*?).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2024-04-18 12:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found