note
Loops
<p>Something using zero width negative look ahead (?!) should work:</p>
<c>
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";
}
</c>
gives:
<c>
regex matches!
regex.1 matches!
regex.12 matches!
regex.1a matches!
regex.a
regex.abc
regex.a1
oregex.2
</c>
<p>Checkout the "Look-Around Assertions" section in the [doc://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.</p>
1108062
1108062