Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: One for the regexp fans

by Maqs (Deacon)
on Aug 04, 2000 at 14:42 UTC ( #26163=note: print w/ replies, xml ) Need Help??


in reply to One for the regexp fans

try this:

$str =~ s/(.[^\.]*)(\.?)/(substr("0" x 2 .$1, -2)).$2/ge;


/Maqs.


Comment on Re: One for the regexp fans
Download Code
RE: Re: One for the regexp fans
by Odud (Pilgrim) on Aug 04, 2000 at 15:03 UTC
    Is my interpretation correct? The first () matches one or more non-dot characters and the second () matches the trailing . or nothing at the end of the string. Then you build a string that has at least two leading zeros and extract the rightmost 2 characters and tag on the trailing . or nothing. I quite like this solution as well. Both you and davorg have come up with good alternatives, thanks. I should think about using substr more - unfortunately it sits in my mind sharing a location with peek and poke! and so doesn't come out to play much these days.
Re (2) Maqs: One for the regexp fans
by nuance (Hermit) on Aug 04, 2000 at 15:23 UTC
    For the substr part, why not just:
    (substr ("0$1", -2))

    Update: In fact I don't see any reason for the second bracketed expression in the regex. Also I can't see how it expands the first hex number if that's necessary. Is this better? or have I missed something subtle?

    $str =~ s/(\.?[0-9a-eA-E]*)/(substr("0$1", -2))/ge;

    Nuance

      yep. your variant is an enhanced one. I tried only to make a general idea. :)
      /Maqs.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2015-07-07 10:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls