in reply to negative look-ahead is ignored
But, you still might want to include that digit in the negative lookahead, or you still can get unexpected matches./\d{4}-(?>\d{1,3})(?!-)/
Result:for (qw(2005-12 2005-100 2005-1- 2005-12- 2005-123- 2005-1000)) { printf "%-10s: ", $_; if ( /\d{4}-(?>\d{1,3})(?!-)/ ) { print "yep\n" ; } else { print "nope\n"; } }
2005-12 : yep 2005-100 : yep 2005-1- : nope 2005-12- : nope 2005-123- : nope 2005-1000 : yepSo, better make it
In this case, the cut operator becomes close to useless. Well, it doesn't hurt./\d{4}-(?>\d{1,3})(?![\-\d])/
Update I shouldn't post in a hurry. I now see ikegami has posted a post very similar to mine. Duh.
|
|---|