Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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;


Replies are listed 'Best First'.
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;


      yep. your variant is an enhanced one. I tried only to make a general idea. :)
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.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2020-10-30 05:34 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (277 votes). Check out past polls.