Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^3: Pattern matching exlusion

by AnomalousMonk (Archbishop)
on Nov 29, 2014 at 15:20 UTC ( [id://1108729]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Pattern matching exlusion
in thread Pattern matching exlusion

... m[10-KQ^/*$] ...

Huh?!? You really need to start using  <code> ... </code> tags. Please see Markup in the Monastery, Writeup Formatting Tips, How do I post a question effectively?.

How would I incorporate the code [BrowserUk] suggested ...

One way would be to copy the contents of the  m// given by BrowserUk into a  qr// regex object as you originally had it, and then interpolate the  qr// into a  m// match as in your OP (I'm using  \z in place of  $ to match absolute end-of-string):

c:\@Work\Perl\monks>perl -wMstrict -le "my @tests = qw[ 10-K 10-KSB 10-K405 10-KSB405 10-Q 10-K/B 10-KA/ 10-KSB/ABC 10-K405/A 10-KSB405/A 10-Q/A ]; ;; my $formget = qr{ 10- [KQ] [^/]* \z }xms; ;; print qq{'$_': }, $_ =~ m[^$formget] ? 'matches' : 'does not match' f +or @tests; " '10-K': matches '10-KSB': matches '10-K405': matches '10-KSB405': matches '10-Q': matches '10-K/B': does not match '10-KA/': does not match '10-KSB/ABC': does not match '10-K405/A': does not match '10-KSB405/A': does not match '10-Q/A': does not match
Please see perlre, perlrequick and perlretut.

Also: What version of Perl are you working with? It may be useful to know this for future reference.

Update: I forgot about case insensitivity. You can add this with an  /i modifier:
    my $formget = qr{ 10- [KQ] [^/]* \z }xmsi;
or, better, IMHO, for stylistic reasons,  (?i)
    my $formget = qr{ (?i) 10- [KQ] [^/]* \z }xms;
or, best of all,
    my $formget = qr{ 10- [KkQq] [^/]* \z }xms;
because it avoids the  /i performance hit if you are processing very many strings or very long strings.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-04-25 13:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found