Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Regex MATCH

by BillKSmith (Chaplain)
on Sep 14, 2012 at 14:31 UTC ( #993732=note: print w/ replies, xml ) Need Help??


in reply to Regex MATCH

Others have already pointed out the problem with the asterics in your regex. I suspect that you intend to match the middle field if it contains no digits (letters only) or no letters (digits only - the case in all your examples) as well letters followed by digits, but not if the field is empty.

I assume that the asterick after the hyphen is a mistake. You probablly intend to require only one hyphen as a field seperator. Here is an implementation of my assumptions.

use strict; use warnings; use Readonly; Readonly::Scalar my $PREFIX => qr/DOC_/; Readonly::Scalar my $FILTER => qr/ $PREFIX (?: [A-Za-z]+\d* | [A-Za-z]*\d+ ) - [0-9a-z]{3} /x; my @tags = qw( DOC_001_123 DOC_002_214 DOC_001-548 DOC_001-987 ); my @dash_tags = grep {/$FILTER/} @tags; print "@dash_tags\n";
Bill


Comment on Re: Regex MATCH
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-08-20 05:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (105 votes), past polls