Re: [問題] perl 跨行比對的問題

看板Perl作者 (C語言)時間12年前 (2013/06/02 13:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
用一個 Loop 把每一行個別抓出來處理 只要有抓到 AAA 就再檢查該行有沒有 B 和 C 沒有的話就直接在這一次 loop 抓出下一行出來處理 這樣應該就行囉 ※ 引述《cvhill (NO more mistake)》之銘言: : 大家好 我是perl新手 : 想請教一下perl的跨行取代要如何重複執行 : 我寫出來的都會直接取代第一個和最後一個case : 舉例來說 : 我有一個檔案形式是 : 1.AAAxxxxB=XXXxxx : xxxC=YYY : 2.AAAxx : xB=ZZZxxxxxxxxxC=HHH : (x是不要的東西且x有可能跨行) : 我想要抓出 : 1.AAA B=XXX C=YYY : 2.AAA B=ZZZ C=HHH : 所以我perl寫的是 : $_=~ s/AAA.*B=(\S+).*C=(\S+)/AAA B=$1 C=$2/gs; : print $_ . "\n"; : 結果他只能出現一行 : 1.AAA B=ZZZ C=HHH : ^^^^^ ^^^^^^^^^^ : 第一行的頭 第二行的尾 : 有高手可以指導一下該怎麼寫嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.229.85.199
文章代碼(AID): #1HgjqpX4 (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1HgjqpX4 (Perl)