• 締切済み

perlでの文字抽出

はじめて質問させていただきます。 perlでの文字抽出について教えてください! ---------------------------- #c,aaaaa,0000 #c,bbbbb,00000 #c,bbbbb,0000 : #s,dddd,AAAA,xxxxx,yyyyy time,1 id, 1 type,1 : #e #s,eeee,AAAA,bbbb,cccccc time,2 id,2 type,2 : #e #s,fff,BBBB,zzzzzz,kkkkk time,1 id,1 type,1 : #e #s,eeeee,AAAA,rrr,qqqqqqqqq time,3 id,1 type,3 : #e : ---------------------------- のようなテキストファイルがあります。 #sから#eまでがひとくくりで、それが繰り返し出現し、それぞれの#sから#eまでの長さはバラバラです。 このとき、#sの行の3番目の要素がAAAAで、かつid,1となっているものについて、それぞれの要素を抽出しcsvファイルに ---------------------------- time   id    type 1     1     1 3     1     3 : ---------------------------- のように書き出したいのですが、perlのプログラムはどのようにしたらよいのでしょうか? ---------------------------- while(<INFILE>){  if(/^#s/../^#e/){   if(($_=~/AAAA/){    if($_=~/id,1/)){ : ---------------------------- とするとif(($_=~/AAAA/)で、#sの行しか抽出できないためid,1の検索が出来ず、行き詰ってしまいました。 perlを勉強し始めたばかりの超初心者で、質問が分かりにくいかと思いますが、よろしくお願いします。

みんなの回答

noname#217196
noname#217196
回答No.2

改行コードの正規表現を調べて、複数改行を含む検索パターンを指定。マッチした文字列は序数つき変数に格納されるので、それを参照してテキストファイルへ出力。

すると、全ての回答が全文表示されます。
  • ennalyt
  • ベストアンサー率29% (398/1331)
回答No.1

そういった質問はねぇ、 http://okwave.jp/c255.html OKWave > [技術者向] コンピューター ▼ > プログラミング ▼ > Perl ▼ コッチのカテゴリの方が回答もらえやすいですよ。

すると、全ての回答が全文表示されます。

関連するQ&A