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

看板Perl作者 (NO more mistake)時間12年前 (2013/06/02 15:02), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
感謝回應 不過我之前沒寫過程式 我perl只會取代而已@@ 不太了解要怎麼寫 不好意思可以寫出程式碼嗎? 謝謝 ※ 引述《clanguage (C語言)》之銘言: : 用一個 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: 140.113.5.175

06/02 15:35, , 1F
已解 在第一篇 感謝
06/02 15:35, 1F
文章代碼(AID): #1HgktobM (Perl)
文章代碼(AID): #1HgktobM (Perl)