輸入文件:(分離都是標籤)正則表達式模式 - 忽略單獨標籤和grep字使用Perl
abc S12GG HLPC
WT4E dfs.com 512
SDA djkf.com 1
SWEW abc.com 1
SEFAW dfsga.com 1
zyx S12YT TYSX
wureyu dfs.com 23
ASWE djkf.com 10
werse abc.com 16
SDSDFS dfsga.com 19
我創建一個哈希表的第一行作爲一個鍵,在第二行,只是第一個字作爲關鍵。下面是代碼:
sub readFile {
my ($fileName, $hash) = @_;
my $lines=0;
my $key;
my $buffer;
open (INPUT, $fileName);
while($buffer=<INPUT>) {
$lines++;
if ($buffer=~/^(.*)\t(.*)\t(.*)$/) {
$key=trim($1).";".trim($2).";".trim($3).";";
$buffer=<INPUT>;
$lines++;
}
$buffer=~/\t(.+)\t(.+)\t(.+)/;
my $item=trim($1);
my $group=trim($2);
my $colinfo=trim($3);
$hash->{$key}{$item}=["$group","$colinfo"];
}
close (INPUT);
return $lines;
}
但這一次無論是在if條件的行匹配:
if ($buffer=~/^(.*)\t(.*)\t(.*)$/)
這兩個
abc S12GG HLPC
WT4E dfs.com 512
燦如果條件匹配只有第一線匹配??我很困惑,很久沒有打破我的想法。
https://regex101.com/r/v6JuDb/1/
我試圖用它來幫助。但找不到任何解決方案。幫助將不勝感激。謝謝。
我從'*''到+'改變了,我覺得應該這樣做。 – Barmar
謝謝barmar,這個作品... – blackfury