$ string =" BLAH1234 xyz BALH3214 xxyyzz BALH3452"
我希望连续捕获4个大写字母的所有实例,后跟4个数字。
我做了:$line =~ /([A-Z]{4}[0-9]{4})/g
但我只能捕获第一个实例。当我做2美元时,它说它没有初始化。
如何捕获所有实例?
答案 0 :(得分:1)
my @matches = $string =~ /[A-Z]{4}\d{4}/g;
答案 1 :(得分:0)
假设:
$ echo "$tgt"
"BLAH1234 xyz BALH3214 xxyyzz BALH3452"
你可以这样做:
$ echo "$tgt" | perl -lne 'print join("|", /[A-Z]{4}\d{4}/g)'
BLAH1234|BALH3214|BALH3452
或者,更明确地说:
my $line="BLAH1234 xyz BALH3214 xxyyzz BALH3452";
for ($line=~/[A-Z]{4}\d{4}/g) {
print "$_\n";
}
全局查找返回一个列表。