作者yingwan (yingwan)
看板Perl
標題[問題] match 下一行
時間Fri Apr 10 03:58:39 2009
不好意思,這可能是一個很簡單的問題,還請大家見諒
我有很多檔案,每個檔案裡面有一堆tag,但我只想要<cite>XXXOOO</cite>
不過每次都只能抓到第一行,偏偏我也不知道檔案裡有幾個
所以 for i loop的 i我不知道設多少
試了一堆方法都沒有成功
我是這樣寫的,希望有高手提點一下,謝謝
open(READ, "<$file") || die "Can't read $file: $!\n";
my @lin = <READ>;
chomp @lin;
close (READ);
foreach (@lin) {
#for ($i=1; $i<=$coun; $i++) {
for (/<cite>(.*?)<\/cite>/ig) {
$lin=$1;
$lin=~ s/<b>//g;
$lin=~ s/<\/b>//g;
$lin=~ s/\s//g;
$lin=~ s/-\d+k-//g;
$lin=~ s/\d+hoursago-//g;
$lin=~ s/\d+minutesago-//g;
$lin=~ s/-$//g;
$lin=~ s/https:\/\///g;
push (@lins, $lin);
$coun++;
#}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.182.135.55
※ 編輯: yingwan 來自: 140.182.135.55 (04/10 04:00)
→ frank1983:把 $lin=$1 改成 $lin=$_ 試試看... 04/10 04:42
推 LyinZ:把 for 改成 while 應該就可以了 (不改 $lin=$1 -> $lin=$_) 04/10 05:21
→ yingwan:while成功了,太感激了,喔耶 04/11 00:30