From: Yui NARUSE Date: 2012-02-20T13:48:11+09:00 Subject: [ruby-dev:45264] [ruby-trunk - Bug #5208][Closed] \b and \B don't match properly Issue #5208 has been updated by Yui NARUSE. Status changed from Rejected to Closed Fixed by mergin Onigmo 5.13.1. ---------------------------------------- Bug #5208: \b and \B don't match properly https://bugs.ruby-lang.org/issues/5208 Author: Ken Takata Status: Closed Priority: Normal Assignee: Yui NARUSE Category: Target version: ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-mswin32] 初めまして、高田と申します。 \b, \Bが正しく単語境界、非単語境界にマッチしていません。 ruby 1.9.2では、\wがマルチバイト文字にマッチしないように鬼車を修正していたと思いますが、 \b, \Bについては\w, \Wに対応するように修正されていないようです。 実行例: C:\>type x.rb #! ruby -Ks p /\B/ =~ "あいうabc" p $' p /\b/ =~ "あいうabc" p $' C:\>ruby x.rb 1 "いうabc" 0 "あいうabc" 期待する結果: C:\>ruby x.rb 0 "あいうabc" 3 "abc" なお、私が公開している鬼車の改造版では、Perl 5.14に合わせて(?au)で\w等の マルチバイト文字へのマッチを制御できるようにしています。 https://github.com/k-takata/Onigmo -- http://bugs.ruby-lang.org/