给出诸如(但不总是以这种确切格式)的输入
an@example.commailto:an@example.com
测试一条线路是否存在多个@符号的最有效方法是什么?
答案 0 :(得分:6)
计算字符串中字符的规范方法是使用tr///
。
喜欢这个
use strict;
use warnings;
use 5.010;
my $s = 'an@example.commailto:an@example.com';
my $n = $s =~ tr/@//;
say $n;
<强>输出强>
2
所以你可以写
if ( $s =~ tr/@// > 1 ) {
# do stuff
}
答案 1 :(得分:1)
if ( $str =~ /@.*@/ )
将匹配@
后跟任意数量的字符(甚至为零)然后@
的所有行。