• ベストアンサー

マッチしなかった時の値を取り出したい

perl5.8.5を使っています。 次のような形で$1の値を表示させたいのですが(そのまま$strを表示させれば良いとは思いますが、とりあえず) $str = "aaa"; if ($str !~ /^(bbb|ccc|ddd)/) { print "t=".$1; } これだと$1に値が入ってきません。 この場合はどのようにすれば$strの「aaa」を取り出すことができるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

先頭が bbb でも ccc でも ddd でもない任意の文字列とマッチさせたいと いうことでしょうか。 こんな感じでしょうか my $str = "aaa"; if ($str =~/^(?!bbb|ccc|ddd)(.+)/) { print "t=".$1,"\n"; }

takagoo100
質問者

お礼

ご返答ありがとうございます。 そのやり方でできました。ありがとうございます。

関連するQ&A

専門家に質問してみよう