我有以下行,我想通过正则表达式捕获几个字符串:
l = '15 1180 62444 e0e0 049c f3ec 104';
我正在扩充以下正则表达式以在此行上进行操作:
d = regexpi(l, '([0-9a-f]+)\s?', 'tokens');
执行此行时,我得到了length(d) == 7
. 正则表达式不应该只匹配第一次出现,即length(d) == 1
和d{1} == '15'
?
对于它的价值,我在 Perl 中使用了相同的正则表达式,发现它只匹配模式的第一个实例(这是我所期望的):
my $l = ... #defined above already
$l =~ m/([0-9a-f]+)\s?/i;
if (! defined($2)){ # $2, $3, ..., $n will be defined for n matches
print "Didn't match twice!\n"; # this prints when I execute the script
}