识别具有多个 @ 符号的行
Identifying lines with more than one @ symbol
给定一个输入(但并不总是这种格式)
an@example.commailto:an@example.com
测试一行中是否存在多个 @ 符号的最有效方法是什么?
if ( $str =~ /@.*@/ )
将匹配具有 @
后跟任意数量的字符(甚至零)然后是 @
.
的任何行
计算字符串中字符的规范方法是使用 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
}
给定一个输入(但并不总是这种格式)
an@example.commailto:an@example.com
测试一行中是否存在多个 @ 符号的最有效方法是什么?
if ( $str =~ /@.*@/ )
将匹配具有 @
后跟任意数量的字符(甚至零)然后是 @
.
计算字符串中字符的规范方法是使用 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
}