我尝试了几种不同的正则表达式变体,但我仍然无法$found
返回结果。我已经在 regexterster.com 上测试了这些正则表达式,结果显示与@domains
.
我怀疑我在这里犯了一个非常愚蠢的错误:
use strict;
use warnings;
my @domains = ('apples.eat-healthy.com', 'seeds.for-parrots.co.nz', 'spam.sender.info');
my $domain_patterns = qr/
[A-Z0-9-]+\.[A-Z0-9]{3}$|
[A-Z0-9-]+\.[A-Z0-9]{2}\.[A-Z0-9]{2}$|
[A-Z0-9-]+\.[A-Z0-9]{4}$
/x;
foreach my $domain (@domains) {
if (my ($found) = $domain =~ m/($domain_patterns)/i) {
print "Found: $found\n";
}
}
有人可以指出我做错了什么吗?