スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rubyの正規表現で日本語判定

Twitterで日本語のみを検索するにはlocale=jaを指定するんですが、これを指定すると全然検索されないことがあります。
ですので、日本語のみ検索したい場合はlocaleを指定せずに検索して、中身に日本語が含まれるかどうかで判定しようと思います。
具体的には、UnicodeのブロックHiragana, Katakana, CJK Unified Ideographsの範囲の文字が含まれていたら日本語として判定します。ただし、この領域に入っていない「々」も含みます。
で正規表現は以下の通り。

/(?:\p{Hiragana}|\p{Katakana}|[一-龠々])/

残念ながらCJK Unified Ideographsはプロパティ名として使えなかったので"一-龠"としました。
先頭の?:はキャプチャしない指定です。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。