http://www.perlmonks.org?node_id=993669


in reply to Regex MATCH

With the tags you provide, wouldn't something like the following be more discerning?
Utilitarian@busybox ~$cat tmp/tmp.pl #!/usr/bin/perl use strict; use warnings; my $prefix='DOC_'; for (<DATA>){ chomp(my $line=$_); print "$line\n" if ($line =~ /^$prefix[0-9]{3}(_|-)[0-9]{3}$/); } __DATA__ DOC_001_123 DOC_002_214 DOC_001-548 DOC_001-987 Utilitarian@busybox ~$perl tmp/tmp.pl DOC_001_123 DOC_002_214 DOC_001-548
EDIT

bart below is correct, to constrain the matches to hyphens the regex above should have read /^$prefix[0-9]{3}-[0-9]{3}$/

print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."

Replies are listed 'Best First'.
Re^2: Regex MATCH
by bart (Canon) on Sep 14, 2012 at 10:45 UTC
    You've got it backwards. His regex matches, but he doesn't want it to match.