1
好吧,我嘗試了一些選項,但我沒有得到它的權利 - 看起來像它與我的正則表達式規範的問題,但它也可能是其他語法。任何幫助/方向都非常感謝。從Perl中的字符串中提取並分配匹配的正則表達式模式到一個變量
我想讀取一個CSV文件並一次處理一行 - 放棄標題行。我將特別關注該文件中的兩個字段。
現在,經過我讀文件的一行的時間,我想處理這兩個領域爲這樣:
while (my $line = <$data>) {
chomp $line;
if ($line !~ /^Date/) {
if ($line =~ /"/) { $line =~ s|"||g }
...;
my $homeTeam = getTeam($fields[5]);
my $awayTeam = getTeam($fields[7]);
...;
my $arbiterRec = join ",", $gameDate, $gameTime, "", $season, $gameLevel,
$homeTeam, "", $awayTeam, "", $site, $subSite, "", "";
print "$arbiterRec\n";
}
}
sub getTeam {
my ($team) = trim($_[0]) =~ m{(R\d+-\d+B|G\d+$)}x;
return $team;
}
sub trim {
(my $s = $_[0]) =~ s/^\s+|\s+$//g;
return $s;
}
有了這個,如果我有這樣的標記有興趣(字段輸入^ ^^):
mm/dd/yyyy, hh:mm AA, dd, Aaaaaa, aaD, R35-14G1, , U14 Girls Area Schedule R256-14G1, , AAA, , ,
^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我希望能得到這樣的輸出:
mm/dd/yy, hh:mm AA, dd, Aaaaaa, aaD, R35-14G1, , R256-14G1, , AAA, , ,
^^^^^^^^ ^^^^^^^^^
在代替我所得到的是:
mm/dd/yy, hh:mm AA, dd, Aaaaaa, aaD, G1, , G1, , AAA, , ,
^^ ^^
任何想法我可能在語法或RegEx匹配中做錯了什麼?
謝謝Avinash解釋問題+1 – user1931485 2014-08-29 22:50:16