Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Regex: If not beginning of string match end

by CountZero (Bishop)
on Jan 17, 2013 at 21:57 UTC ( #1013898=note: print w/replies, xml ) Need Help??


in reply to Regex: If not beginning of string match end

use Modern::Perl; while (<DATA>) { chomp; next if /^[s][0|6]00[0-9]{2}/; next unless /(\d{2})$/; say "$_ -> $1"; } __DATA__ s00023 s50012 s600ad s00012 abc-def-123456
The first test rejects all data that fit the ^[s][0|6]00[0-9]{2} pattern.

The second test rejects all data that does not end in two digits.

If the data "survives" both tests it gets printed.

s50012 -> 12 abc-def-123456 -> 56

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

My blog: Imperial Deltronics

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1013898]
help
Chatterbox?
[Tux]: None work for me. My dead key is AltGr (right Alt)
[Tux]: And I just tested, neither do other Tk apps :) (95% of my Tk Apps is either just monitoring (no input) or input of just numbers). Something to investigate then
[choroba]: Maybe something like this?
[choroba]: I vaguely remember we had problems with dead keys in Tk at $work - 2, but I forgot all the details
[choroba]: but it was worse on MSWin than on Linux
[choroba]: (and OSX didn't exist yet)
[choroba]: Also, I'd try starting the App with the US layout and switch to the dead keys layout later

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2017-09-25 20:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (290 votes). Check out past polls.

    Notices?