作者bustta (華麗的冒險)
看板Perl
標題[問題] 比對暫存變數提取
時間Thu Jun 5 22:34:53 2008
剛接觸perl與正規表示式不久,想問個可能是比較粗淺的問題
$str =~ s/(;)(.*?)(&)/$1$2$3/g;
大概類似如此,如果想要將暫存變數$2拿出來另存一個變數可以怎麼寫呢
小弟試了好久實在弄不出來...
不好意思麻煩各位了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.59.135
1F:→ iFEELing:$變數=$2; 06/05 22:39
2F:→ bustta:上面試過,會變空的... 06/05 22:48
3F:推 travellu:s改用m 06/05 22:53
s改用m可以,感謝t大。
但是我想處理的字串類似 $str = "¤@¤G¤T¤è";
$str =~ m/(;)(.*?)(&)/g;
print $2."\n";
這樣他的暫存變數$2只會有第一個也就是"@",後面的沒辦法一併處理
所以想問有其他種寫法或存成陣列的方法嗎?
※ 編輯: bustta 來自: 59.116.59.135 (06/05 23:08)
4F:推 travellu:用while,再用push把比對到的變數存進陣列 06/05 23:28
5F:→ bustta:!!!!豁然開朗,真的很感謝^^" 06/05 23:45