[#44289] [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に — Shyouhei Urabe <shyouhei@...>

34 messages 2011/08/01
[#44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Nobuyoshi Nakada <nobu@...> 2011/08/01

[#44295] Re: [ruby-dev:44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Urabe Shyouhei <shyouhei@...> 2011/08/01

(08/01/2011 11:52 AM), Nobuyoshi Nakada wrote:

[#44299] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Nobuyoshi Nakada <nobu@...> 2011/08/01

なかだです。

[#44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Ayumu AIZAWA <ayumu.aizawa@...> 2011/08/24

[#44431] Re: [ruby-dev:44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — KOSAKI Motohiro <kosaki.motohiro@...> 2011/08/27

> あいざわです

[#44443] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に — Ayumu Aizawa <ayumu.aizawa@...> 2011/09/01

あいざわです

[#44315] [Ruby 1.9 - Bug #5139][Open] sigsegv のスタックオーバフロー — Tomoyuki Chikanaga <nagachika00@...>

18 messages 2011/08/02

[#44329] [Ruby 1.9 - Bug #5151][Open] test/socket/test_socket.rb fail when udp connection failed — Ayumu AIZAWA <ayumu.aizawa@...>

16 messages 2011/08/02

[#44368] [Ruby 1.9 - Feature #5180][Open] net/http の接続時に用いる IP アドレスの指定 — Yui NARUSE <naruse@...>

15 messages 2011/08/10

[#44413] [Ruby 1.9 - Bug #5217][Open] lineno is broken when source code has about 7000 lines — Yusuke Endoh <mame@...>

11 messages 2011/08/23

[ruby-dev:44410] [Ruby 1.9 - Bug #5208] \b and \B don't match properly

From: Ken Takata <kentkt@...>
Date: 2011-08-22 15:33:58 UTC
List: ruby-dev #44410
Issue #5208 has been updated by Ken Takata.


> Ruby では \w とは別に \p{Word} というものを用意しているので、「\b は \p{Word} に従う」でよいかと思っています。

そういう考えもありましたか。ただ、少なくともPerl 5.14とPython 2.7では、
\b, \B は \w, \W と同期しており、(?u) などに応じて動作が変わります。(\p{Word}は固定)
それ以外の言語ではどうなっているか確認できていません。


> (?(cond)yes|no) とかも欲しいなぁと思っていたのと、最適化も欲しいので、
> いっそ高田さんが Ruby の正規表現エンジンをメンテしてくださるとうれしいなぁと思っていたり。

自分の改造版鬼車(鬼雲)をRubyに取り込んでいただく分には何の問題もないのですが、
Rubyの正規表現エンジン自体をメンテするのは手に負えそうにないです。
(特に、Rubyで独自に変更している部分をどうすべきかが課題。)

なお、Onigmo 5.10.6では以下のような機能が追加されています。
・正規表現
 - \K, \R, \X, (?(cond)yes|no), \g<0>, \g<+n>, (?au)
 - Perl 5.10互換の名前参照(←Rubyには不要でしょう。)
・Shift_JIS, EUC-JPで、全角アルファベットなどの大文字小文字同一視検索に対応。
・Shift_JIS, EUC-JPで、\p{Han}, \p{Latin}, \p{Greek}, \p{Cyrillic} に対応。
・最適化
 - 暗黙のアンカーによる最適化を実装。
 - http://redmine.ruby-lang.org/issues/3568 で無効化された最適化を再度有効化。

・Perl 5.14に比べた制限
 - (?(cond)yes|no) の条件に、先読み・戻り読み等が使えない。
 - (?|...), \o{nnn} 等は未対応。
----------------------------------------
Bug #5208: \b and \B don't match properly
http://redmine.ruby-lang.org/issues/5208

Author: Ken Takata
Status: Assigned
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://redmine.ruby-lang.org

In This Thread