タグ

perlとunicodeに関するrin51のブックマーク (3)

  • Unicodeブロックを利用する - さわだのノート

    実家はいまだに携帯電話がまともに通じず、インターネットもないという情報鎖国状態でした。眼は休まったけど、やっぱりネットがないと落ち着きません。 さて、前回PerlのUnicode文字列に対する正規表現検索がなにやらちょっと変わった動作をするというお話を書きました。それに関連して、「Unicodeブロック」という機能がPerlの正規表現検索では利用できるようです。「\p{hoge}」と記述することで、Unicodeで定義されている文字のブロックが使えるのだそうです。 要するに、漢字やひらがな、カタカナの文字だけにヒットする正規表現が簡単に書けるということです。正直なところ、詳しくは僕もよくわかりません。 メタ文字 説明 \p{N} 全角・半角数字 \p{LC} 大文字・小文字のある文字(半角・全角両方) \p{Lu} 大文字の文字(半角・全角両方) \p{Ll} 小文字の文字(半角・全角両方

    Unicodeブロックを利用する - さわだのノート
  • MODULE.JP - 日本語に絡むUnicodeブロックとスクリプト(正規表現)

    といった感じ。ちなみにjava.util.regexとPerlのUnicodeブロックは接頭子Inを使うが、.NETの場合は接頭子Isを使う、という差異があります。 Unicodeスクリプトとブロックの違いがビミョーに見えるけど、ブロックがコードブロックをゴリッと指定したものに対して、スクリプトは特定言語に関係する文字の種類を直接指定するものなのでブロックよりも断定的、って感じで見れば良かなと。ちなみにUnicode関連のドキュメントによるとUnicodeプロパティとスクリプトで日語の文章を表そうとすると m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x; こんな感じになるそうな。実際流通している文章はこれより多様なので現実とは微妙に乖離

  • 正規表現で Unicode Block - odz buffer

    ref:神様なんて信じない僕らのために - すべての漢字を取り出す正規表現 そういや、Python の正規表現エンジンって、named group は使えるけど、Unicode Block は使えないんだっけ? PerlJava なら Unicode Block が使える。 use strict; use warnings; use utf8; use Perl6::Say; binmode STDOUT, ':utf8'; my $target = "漢字正規表現亜腕一十百千万億兆京?"; my @patterns = ( qr/[一-龠]/, qr/?p{InCJKUnifiedIdeographs}/, qr/?p{InCJKUnifiedIdeographs}|?p{InCJKUnifiedIdeographsExtensionA}|?p{InCJKUnifiedIdeogr

    正規表現で Unicode Block - odz buffer
  • 1