http://qs321.pair.com?node_id=1108064


in reply to Regex \. help

Something using zero width negative look ahead (?!) should work:

my @t = qw( regex regex.1 regex.12 regex.1a regex.a regex.abc regex.a1 + oregex.2 ); for (@t) { print $_; print ' matches!' if /^regex(?!\.[^\d])(\.\d*)?/; print "\n"; }
gives:
regex matches! regex.1 matches! regex.12 matches! regex.1a matches! regex.a regex.abc regex.a1 oregex.2

Checkout the "Look-Around Assertions" section in the perlre documentation. In the example above, the negative look-ahead says fail if the next characters are a period followed by anything that isn't a digit.