[ruby-list:49459] 正規表現の文字クラス[:alpha:]のマルチバイトキャラクタに対する挙動について

From: Nakamatsu Shinji <snaka.gml@...>
Date: 2013-06-09 01:21:37 UTC
List: ruby-list #49459
Rubyist のみなさんこんにちは。

なかまつと申します。

正規表現における文字クラス[:alpha:]のマルチバイトキャラクタに対する挙動について教えていただきたいのですが、

"ほげ".match(/[[:alpha:]+]/)

が、"ほげ"にマッチしてしまう挙動となっていますが、これは正しい動作なのでしょうか?
[:alpha:]の部分を等価と思われる a-zA-Z0-9 に置き換て

"ほげ".match(/[a-zA-Z0-9]+/)

だと当然 "ほげ" にはマッチしません。

以下の環境で確認しました。
ruby-1.9.3-p429
ruby-2.0.0-p195

もしご存知であれば教えてください。

-- 
snaka
http://d.hatena.ne.jp/snaka72/

In This Thread

Prev Next