Re: [問題] 請教一個關於正規表示式的問題

看板Perl作者 (black)時間14年前 (2010/12/17 22:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/6 (看更多)
※ 引述《AlanSung (慈母多敗兒)》之銘言: : ※ 引述《AutumnVic (小點點雨傘兒)》之銘言: : : 我現在要做的事 : : 是要從很多像這樣的字串中 : : ((((((.(((.((((..((((...........))))..)))))..........))...))))))... : : ........(((((..(((((((..(((.....)))))..))......)))))..)))... : : 挑出中間部份 "(.....)"的左括和右括分別位在字串中的第幾個字元 : : 下面是我的CODE : : my $haha="....((((((...(((..((.(.(((((.....))))).))...)))))))...))).."; : : print length($1) if( $haha =~ m/(.*)[^\(]*? /) : : 但他這樣取到的一直都是整個字串的length : : 而不是我想要的"中間左括"的位子 : : 能不能請厲害的人幫我一下 實在不知道該怎麼拆解找這兩個東西 @@ : print length($1) + 1 if( $haha =~ m/(.*)\([^\(]*? /) : 這樣呢? 強迫至少要找到一個 XD perl -ne '$haha="....((((((...(((..((.(.(((((.....))))).)).(..)))))))...))).."; while ($haha =~m/\([^\(\)]*\)/g) {printf "%d\t%d\n",length($`)+1,length($`)+length($&)};exit' 細部還有一點小問題、看看能不能幫上忙吧。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.198.12.168

12/20 09:43, , 1F
真的有用!! 因為是初學者還學到了變數的使用 thanks ;D
12/20 09:43, 1F
文章代碼(AID): #1D2tANLB (Perl)
文章代碼(AID): #1D2tANLB (Perl)