perl5 での正規表現の or は |
のみでした.以下のように使うことができます.
'aaabbb' =~ /(a|a+b)/
これは a
にマッチします.左に書いてあるマッチャが優先されますね.
同様に |
を用いて perl6 で書いてみましょう.
'aaabbb' ~~ /(a|a+b)/
おおっと,これは aaab
にマッチしてしまいます.
何故かと言うと perl6 の |
は longest match だからなんですね.すごいぞ,これは便利!!!!
しかし上の perl5 の例と同じような挙動をさせたい場合もあるでしょう.まあ大体はそうですね.
そういう時は |
の代わりに ||
を使うとよろしい.
'aaabbb' ~~ /(a||a+b)/
こうすると a
にマッチします.やりましたね.