use strict;
use warnings;
print "Enter string\n";
my $str = <STDIN>;
chomp($str);
if($str =~ /[^\d*]/)
{
print "\n";
print "*********MATCHED**********\n";
}
else
{
print "\n";
print "#######WRONG############\n";
}
, когда я ввожу строку как '2323adsdf'. Он говорит, что соответствует. Что касается моих знаний, это не должно совпадать, поскольку в строке есть числа. Может ли кто-нибудь объяснить мне, почему этот матч встречается?Perl Регулярные выражения Соответствующие цифры
'/ [^ \ d *] /' соответствует любому символу в строке, которая НЕ является цифрой, а не буквальной звездочкой '*' –