私はこれに一致するパターンを考え出すことを探しています:
(単語単語単語単語) | 1234.5678% | (1234)
(words words words words)を$1として、(1234)を$2として保持したい場合
入力ファイルは次のようになります。
Header Crap | More Header Crap|Header Crap | More Header Crap|(words words words words) | 1234.5678% | (1234) | (words words words words) | 1234.5678% | (1234)(words words words words) | 1234.5678% | (1234) | (words words words words) | 1234.5678% | (1234)(words words words words) | 1234.5678% | (1234) | (words words words words) | 1234.5678% | (1234) | (words words words words) | 1234.5678% | (1234) | (words words words words) | 1234.5678% | (1234)
私が信じている問題は、入力に関係しています。それは 1 つの大きな塊として入ってきます (IE $_ は、一致を見つけるために解析する必要がある 1 つの大きなデータ文字列です)
私が試したこと:
while ($_ =~ /(.*)\|{1}\d*?\.{1}\d*?%{1}\|{1}(\d*)/ {
do stuff with $1 and $2
}
としても
@matches = $_ =~ /(.*)\|{1}\d*?\.{1}\d*?%{1}\|{1}(\d*)/
そして、これらの両方に他の同様のバリエーションがたくさんあります。正しい方向へのガイダンスを探しているだけです。どんな助けでも大歓迎です!