• 締切済み

正規表現のパターンマッチ

配列の中から特定の文字を取り出す処理がうまくできません @test = ("aaa","bbb","t=1","v=3"," test:", " test:") 上記のような配列があったとして 一文字目がaからzで二文字目が=のものを取り出す処理と 一文字以上の空白の後ろにtest:があるものを取り出す処理は どのようにすればいいのでしょうか? 下記のような感じで書いたのですがうまくいきません @test = ("aaa","bbb","t=1","v=3"," test:", " test:") my $test = "test:"; foreach( @test ) { if( $_ =~/^[a-z]+k/) { print $_; } if( $_ =~/^\s+$test/) { print $_; } } よろしくお願いします

みんなの回答

回答No.2

> 一文字目がaからzで二文字目が=のものを取り出す処理と my @foo = grep { /^[a-z]=/ } @test; >一文字以上の空白の後ろにtest:があるものを取り出す処理は my @baa = grep { /^\s+test:/ } @test;

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

$_ =~/^[a-z]+k/ の k はどこから来たのですか? $_ =~/^\s+$test/ の $ はどこから来たのですか?

関連するQ&A

専門家に質問してみよう