perl實現動態分組匹配

舉例

有一個比較常見的情景,比如excel裏,一行的列數目是動態的。怎麼獲取這些動態的每一列數據呢?

簡單例子,
my $str=”5.4..032…..33442.442….23..2323..2323..3434..3434..”;
中間有任意個點分隔,但是不知道會有多少個匹配的數字。怎麼用perl實現,並打印出每一個匹配的數字?

perl代碼實現

#!/usr/local/bin/perl
use strict;
use warnings;

my $str="5.4..032.....33442.442....23..2323..2323..3434..3434..";
while($str =~ /(\d+)\.+/){
    print $1;
    print "\n";
    $str =~ s/(\d+)\.+//;
}

執行後,結果如下顯示:

➜  project git:(master) ✗ ./perl-fenzu-dontkonw-times.pl
5
4
032
33442
442
23
2323
2323
3434
3434
➜  project git:(master) ✗ 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章