From: WATANABE Hirofumi Date: 1999-08-05T18:50:57+09:00 Subject: [ruby-list:15898] Re: difference of \Z between perl and ruby わたなべです. Tomoyuki Kosimizu writes: :下のコードをperl 5.005_03とruby 1.3.6 (1999-07-28) [i686-linux]で実行 :したところ、perlではマッチするのですが、rubyではマッチしませんでした。 : :$str = "ab\ncd\n"; :print "yes\n" if $str =~ /cd\n\Z/; : :バグだと思うのですが。 仕様です. [ruby-dev:6355] から: >もう一度まとめましょう..と^と$と\Aと\Zについて > > 現状 > > . 任意の1文字にマッチ(除く改行) > ^ 文字列先頭または改行の直後 > \A 文字列の先頭 > $ 改行の直前または文字列の末尾 > \Z 文字列の末尾 > > 補足1 文字列の最後の文字が改行であるとき最後の改行と文字列 > 末尾の間の空行(?)には^も$もマッチしない > > 補足2 文字列の最後の文字が改行であるとき,\Zは最後の改行の > 直前にマッチする つまり Perl とは互換性はありません. 現在は "\n" =~ /\n\Z/ も "\n" =~ /\n$/ も nil です. -- わたなべひろふみ