Re: [問題] 請問如何在{}裡面使用\1?

看板Perl作者 ( )時間12年前 (2013/06/17 16:23), 編輯推噓5(500)
留言5則, 5人參與, 最新討論串2/4 (看更多)
※ 引述《YMLS (流逝於指縫的細沙)》之銘言: : 大家好,我有一筆資料如下: : C+2AAT-3CGCA : 我希望寫一行程式,使得數字後面的字母會依照數字的內容被拿走,如下所示: : C+T-A : 我嘗試如下的寫法: : $line='C+10AAAAAAAAAAT-3CGCA'; : $line=~s/(\d+)[ACGTNacgtn]{\1}//g; : 可是 {\1} 無法發揮我想要得效果, : 想請問是否我的語法本身有問題呢?謝謝! 根據 http://perl5.git.perl.org/perl.git/blob?f=dquote_static.c S_regcurly() 在 parse 的時候 { 之後一定要接數字 -- 不能寫 {\1} 我會這樣寫 $line='C1tt+10AAAAAAAAAAT-3CGCA'; while ($line =~ /\d+/) { $pre = $`; ($post = $') =~ s/^[acgtn]{$&}//i; $line = $pre . $post; } print $line . $/; -- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/M d-(+) s:+ a- C++$ UL++B+ P++(++++) L+ E--@ W++ N? o? K? w(++) !O M !V PS++(+++) PE++(+++) !Y PGP t+++ !5 !X R !tv b++ DI++ D+ G e+++>++++ h--* r y+ ------END GEEK CODE BLOCK------ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.36.232.45

06/17 16:51, , 1F
我記得可以用eval的option,有請高人出手…
06/17 16:51, 1F

06/17 18:07, , 2F
翻 perl 的 source 出來解釋會不會太恐怖....||
06/17 18:07, 2F

06/17 21:33, , 3F
謝謝您熱心的解答!!Orz
06/17 21:33, 3F

06/18 10:59, , 4F
推翻perl source...orz||||
06/18 10:59, 4F

06/28 12:10, , 5F
06/28 12:10, 5F
文章代碼(AID): #1HliUM65 (Perl)
文章代碼(AID): #1HliUM65 (Perl)