Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: REGEX problem with anchors

by kcott (Canon)
on Feb 05, 2013 at 09:52 UTC ( #1017098=note: print w/replies, xml ) Need Help??

in reply to REGEX problem with anchors

G'day live4tech,

I see you've resolved your problem. There can be rare instances when you want to preserve all the input, including terminal newlines. In these cases, you can use \Z (uppercase) instead of the more usual \z (lowercase).

$ perl -Mstrict -Mwarnings -E ' while (<>) { say "z-match" if /\A\d+[a-z]+\z/; say "Z-match" if /\A\d+[a-z]+\Z/; } ' 123dog Z-match

Details are in: perlre - Regular Expressions under Assertions.

-- Ken

Replies are listed 'Best First'.
Re^2: REGEX problem with anchors
by 7stud (Deacon) on Feb 05, 2013 at 17:07 UTC
    But of course, there is no reason to ever use \Z (uppercase)--because you can just use \z (lowercase) and specify the \n in your regex:
    /$my_regex \n \z/xms

    ...which makes it clearer what you are doing.

    When you are having regex problems, the first thing you want to do is nail down what is in your string:

    my $str = "123dog\n"; say "-->$str<--"; --output:-- -->123dog <--
    Or, to reveal the ord() of each character in the string:
    printf "%vd", $my_str; --output:-- #6 ascii chars in '123dog', but outputs 7 codes. #Checking an ascii chart for the code 10: #line feed. Ah hah, I forgot to chomp() #the string!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017098]
[erix]: they've stuck nuclear missiles in Kaliningrad - they can just reach Berlin :)
[LanX]: naaah! Putin wouldn't nuke all the Russians in Berlin
[Your Mother]: Putin is a bad guy but heís not that kind of bad guy. (Who would launch.)
[erix]: fortunately, Putin seems to be ill -- or at least, they're building a hospital for him and his cronies in Moscow
[erix]: nobody knows what kind it takes :)
[erix]: I say his seems a face that launches a thousand missiles :)
[Your Mother]: I say I do. :P
[Your Mother]: Missiles would be an idiotís play. Putin is many things but he is not an idiot.
[erix]: I like the idea of the trumps troup of imbeciles growing slightly nervous now their incompetence will be tested
[erix]: you seem forget there is another idiot coming :)

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2017-01-20 00:56 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (173 votes). Check out past polls.