真空マッチ (4)
昨日紹介したページに書かれていた例で、(b)*の部分を(?:(b)+|)に書き直して実行してみる。
$ ruby -e '"abax" =~ /((a)*(?:(b)+|))*/; print "#{$&}:#{$1}:#{$2}:#{$3}\n"' aba:a:a:b $ ruby19 -e '"abax" =~ /((a)*(?:(b)+|))*/; print "#{$&}:#{$1}:#{$2}:#{$3}\n"' aba::a:b $ perl -e '"abax" =~ /((a)*(?:(b)+|))*/; print "#{$&}:#{$1}:#{$2}:#{$3}\n"' #{aba}:#{}:#{}:#{b}
書き直す前と同じ結果になるのは、鬼車だけ。