真空マッチ (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}

書き直す前と同じ結果になるのは、鬼車だけ。