- 締切済み
正規表現のパターンマッチ
配列の中から特定の文字を取り出す処理がうまくできません @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 $_; } } よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- buffalomasa
- ベストアンサー率66% (70/106)
回答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/ の $ はどこから来たのですか?