[問題] 正規表示式 關於取代

看板Perl作者 (海很藍,星光燦爛)時間7年前 (2017/05/24 10:51), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
請問 有一行字串 PA(A0), PB(B0), PC(C0) 我想要把PA內的空格中的字串拿掉 變成 PA(), PB(B0), PC(C0) 所以我這樣寫 s/PA\((.*)\)/PA\(\)/; 但是會影響到PB 和 PC 整行字串變成 PA() 請問該怎麼寫比較好? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.166.19 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1495594307.A.C97.html

05/24 10:57, , 1F
s{PA\([^)]*\)}{PA\(\)};
05/24 10:57, 1F

05/24 10:57, , 2F
原本的條件太寬鬆了,很容易比對到過多東西
05/24 10:57, 2F

05/24 10:59, , 3F
對於成對的符號,這種方法都適用
05/24 10:59, 3F

05/24 19:53, , 4F
.*會很貪心的吃到最多,改成.+?即可不要那麼貪心
05/24 19:53, 4F
文章代碼(AID): #1P9FL3oN (Perl)