タグ

ブックマーク / blog.akiym.com (1)

  • 正規表現のキャプチャ - アリ

    正規表現のキャプチャの結果を取得したいときには、次のようなコードを書く: if (my @capture = '10/17' =~ m!([0-9]{2})/([0-9]{2})!) { # @capture = (10, 17) } $1や$2を使っても取得はできるが、キャプチャが増えたときに$1, $2, $3, $4, ...と増やしていくのは苦行である。 このようにすると、@captureにキャプチャの結果が入る。しかし、キャプチャの括弧がない正規表現の場合、@captureの値はどうなるのか。 if (my @capture = '10/17' =~ m![0-9]{2}/[0-9]{2}!) { # @capture = (1) } キャプチャされていないのに、@captureには(1)が代入されている。空リストはfalse扱いなので、こういったケースのために(1)を返すみたい

    正規表現のキャプチャ - アリ
  • 1