-2

ファイル内の列からいくつかの情報を grep したいのですが、列には、関心のあるさまざまな数のインスタンスが含まれている可能性があります。簡単な例については、以下を参照してください

chr8    +       120807654       121847348       Cdh13   unnamed (-46405)                                                                
chr2    +       167514414       167515918       Cebpb   unnamed (+3335), unnamed (+89835)

最後の列のかっこ内の数値を使用して、後で計算を行いたいです。一部の行には「無名 (###)」が 1 つしかなく、複数の行があるため、正規表現を使用してこれらすべての数値を取得するのに問題があります。これをどのように処理しますか?

ありがとう!

4

1 に答える 1

1

これを試して:

while (<STDIN>) {
    @matches = m/\(([+-]\d+)\)/g;
    print join(",", @matches) . "\n";
}

/gすべての単語に一致するため、すべての番号が@matches配列になります。

于 2013-05-10T21:01:16.090 に答える