感谢回应
不过我之前没写过程式
我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
: : ^^^^^ ^^^^^^^^^^
: : 第一行的头 第二行的尾
: : 有高手可以指导一下该怎么写吗? 谢谢