Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unicode文字プロパティ

5,163 views

Published on

正規表現の文字クラス[ ]で使用できるUnicode文字プロパティについて解説します。
統一規格なので正規表現の方言に左右されないのが特徴ですが、それ自体にも癖があります。

Published in: Technology
  • If you are looking for trusted essay writing service I highly recommend ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ The service I received was great. I got an A on my final paper which really helped my grade. Knowing that I can count on them in the future has really helped relieve the stress, anxiety and workload. I recommend everyone to give them a try. You'll be glad you did.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/2Qu6Caa ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❶❶❶ http://bit.ly/2Qu6Caa ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Unicode文字プロパティ

  1. 1. Unicode 文字プロパティ 八田 昌三 (BPS)
  2. 2. 誰? • 元ローカライズ業界 • 多言語翻訳のチェックを正規表現ツールで行ってい た
  3. 3. • 特殊な業界知識 • 多言語ドキュメントを正規表現で同時にチェック • ヨーロッパ25言語、どんな言語が追加されるかわからない • フランス・ドイツ・イタリア・スペイン・オランダ・スウェーデン・ ノルウェー・フィンランド・ポーランド・ギリシャ・ロシア・チェコ・ スロバキア・スロベニア・ルーマニア・ブルガリア・ウクライナ・ア ラビア・ペルシャ・etc
  4. 4. RubyWorld Conference 2013で発表しました
  5. 5. Unicode 文字プロパティって? • 正規表現の文字クラス [ ] の中で使える • p{ }で囲って指定 ! • 文字プロパティ自体は Unicode Consocium の 正式な規格 • ただし実装の進み具合はさまざま
  6. 6. 公式規格 • http://www.unicode.org/Public/UNIDATA/ Scripts.txt
  7. 7. 記法も実装で異なる
  8. 8. POSIXのじゃだめなの? • POSIXの文字クラス[[なんちゃら]]は、実装によっ て動作が異なる可能性がある • • 当時の業務は実装に依存できなかった Unicode文字プロパティには規格がある
  9. 9. • 以後Ruby2.x系 (Onigumo) で説明
  10. 10. rubular.com
  11. 11. Onigumoで使える文字プロパティ https://github.com/k-takata/Onigmo/blob/master/doc/UnicodeProps.txt
  12. 12. 漢字にマッチする 正規表現 • 伝統的な方法: [一-龠] • • 一部の漢字が漏れてる(まず支障はない) 文字プロパティ: [p{Han}] • 明快、すべての漢字が網羅される
  13. 13. ひらがなにマッチする 正規表現 • 伝統的な方法: [ぁ-ん] • • 思い出しにくい 文字プロパティ: [p{Hiragana}] • 明快
  14. 14. • でも注意も必要
  15. 15. 漢数字にマッチする 正規表現 • 伝統的な方法: • [一二三四五六七八九十壱弐参拾百千万萬億兆〇] ! • 文字プロパティ: さすがにない
  16. 16. カタカナにマッチする 正規表現 • 伝統的な方法: [ァ-ヴ] ! あれ? • 文字プロパティ: [p{Katakana}ー]
  17. 17. • 実は音引き「ー」はKatakanaに含まれていない • 明示的に文字クラスに「ー」を追加する必要がある
  18. 18. 数字にマッチする 正規表現 • 伝統的な方法: [0-9], [0123456789] ! • 文字プロパティ: [p{N}]または[p{Number}] • 後者はエイリアス • 明快、と思いきや
  19. 19. • 漢字のゼロ「〇」(マル○ではない)にだけなぜかマッ チしてしまう • 規格の方が中途半端
  20. 20. アルファベットにマッチする 正規表現 • 伝統的な方法: [a-zA-Z] • 文字プロパティ: [p{L}]または[p{Alphabetic}] • 明快、と思いきや
  21. 21. • 日本語どころかあらゆる言語の文字とマッチしてい る • 記号や数字とはマッチしていない
  22. 22. 実は • 「アルファベット」という概念はそもそもABCだけではない • 文字セットのうち、「数字でなく」「スペースでなく」「記 号でない」ものすべてを指す • • 「国語」が国によって指すものが違うのと似ている だから日本語でも何語でも数字・記号以外のあらゆる文字セッ トにマッチする • これはPOSIXの[[:alpha:]]でも同じ
  23. 23. という具合に • 実装に依存せず、多言語を串刺しにする正規表現を 作成するうえでUnicode文字プロパティは便利 • だが動作の検証は欠かせない
  24. 24. • 詳細は TecheRacho にて • http://techracho.bpsinc.jp/ hachi8833/2013_09_13/13433
  25. 25. • ご清聴ありがとうございました

×