正则表达式没有提取第二组数字

时间:2013-06-02 15:18:08

标签: regex perl

我有一个包含

等条目的文件
ABC DEF GHI  1234<set 1 of numbers>          AT    <set 2 of numbers, can have decimal point>

我使用以下代码从每行中提取2组数字。

if($_=~/ABC.*1234([0-9]+).*AT.*([0-9]+)/)
{
   print $_, "\n";
   print 1st number = ", $1 , "\t 2nd number = ", $2 , "\n";
}

虽然我能够看到第一个数字的正确值,但第二个值始终显示为0。

为什么我没有得到第二个号码?

1 个答案:

答案 0 :(得分:3)

if(/ABC.*1234([0-9]+)\s*AT\s*([0-9.]+)/)