在perl中,怎么在字符串中查找相同但不连续的两个或多个字符?

例如在$a=DDpOHpAO;中查找到两个小写p?

第1个回答  2011-04-21
my $a="DDpOHpAO";
print "YES两个->$1" if $a=~/([a-z]).*\1/;

================
YES两个->p

OR

print "YES两个p" if $a=~/(p).*\1/;
==================
YES两个p
第2个回答  2011-04-19
把$a分解为一个数组@a
foreach $b (@a)
$n =~ /$b/i;
if($n >= 2){
$m = $b;
}
}本回答被提问者采纳
第3个回答  2011-04-20
用正则表达式:$a =~ /(\w)\w+$1/