有乙個比較常見的情景,比如excel裡,一行的列數目是動態的。怎麼獲取這些動態的每一列資料呢?
簡單例子,
my $str=」5.4..032…..33442.442….23..2323..2323..3434..3434..」;
中間有任意個點分隔,但是不知道會有多少個匹配的數字。怎麼用perl實現,並列印出每乙個匹配的數字?
#!/usr/local/bin/perl
use strict;
use warnings;
my$str="5.4..032.....33442.442....23..2323..2323..3434..3434..";
while($str =~ /(\d+)\.+/)
執行後,結果如下顯示:
➜ project git:(master) ✗ ./perl-fenzu
-dontkonw
-times
.pl5
4032
33442
44223
2323
2323
3434
3434
➜ project git:(master) ✗
perl 模式匹配
一 簡介 模式指在字串中尋找的特定序列的字元,由反斜線包含 def 即模式def。其用法如結合函式split將字串用某模式分成多個單詞 array split line 二 匹配操作符 檢驗匹配是否成功 result var abc 若在該字串中找到了該模式,則返回非零值,即true,不匹配則返回0...
perl正則匹配
字元的種類是一定的,無非是空格,數字,大小寫字母,和perl中定義的元字元,還有本國語言。所以原則上任何格式的字元都能匹配。匹配工具 選擇符號,關鍵字,量詞,斷言,轉義字元 當出現多個字元組成的 非空格字元時候,例如123,45 3 s sdgg 則使用 0 9a za z 若加上 則只能匹配一行中...
perl智慧型匹配
1.perl中 為智慧型匹配,它可以智慧型地根據符號兩側的運算元來確定操作。如要判斷某個元素是否存在於陣列中,不使用智慧型匹配,程式像這樣 my x 2 my array 1,2,3 my flag 0 for array if flag 1 else 使用智慧型匹配,程式像這樣 my x 2 my...