#!/usr/bin/perl # http://perlmonks.org/?node_id=1178340 use strict; use warnings; while() { print /^(?!.*_\d)/ ? " matched $_" : "not matched $_"; } __DATA__ aa1.2 aa1_bb2 aa1_2 aa1_2bb 1aa #### /^(?!.*[-_]\d)/