[問題] 比對暫存變數提取

看板Perl作者 (華麗的冒險)時間17年前 (2008/06/05 22:34), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
剛接觸perl與正規表示式不久,想問個可能是比較粗淺的問題 $str =~ s/(;)(.*?)(&)/$1$2$3/g; 大概類似如此,如果想要將暫存變數$2拿出來另存一個變數可以怎麼寫呢 小弟試了好久實在弄不出來... 不好意思麻煩各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.59.135

06/05 22:39, , 1F
$變數=$2;
06/05 22:39, 1F

06/05 22:48, , 2F
上面試過,會變空的...
06/05 22:48, 2F

06/05 22:53, , 3F
s改用m
06/05 22:53, 3F
s改用m可以,感謝t大。 但是我想處理的字串類似 $str = "¤@¤G¤T¤è"; $str =~ m/(;)(.*?)(&)/g; print $2."\n"; 這樣他的暫存變數$2只會有第一個也就是"@",後面的沒辦法一併處理 所以想問有其他種寫法或存成陣列的方法嗎? ※ 編輯: bustta 來自: 59.116.59.135 (06/05 23:08)

06/05 23:28, , 4F
用while,再用push把比對到的變數存進陣列
06/05 23:28, 4F

06/05 23:45, , 5F
!!!!豁然開朗,真的很感謝^^"
06/05 23:45, 5F
文章代碼(AID): #18H_cGtf (Perl)
文章代碼(AID): #18H_cGtf (Perl)