2010年8月26日木曜日

秀丸+正規表現で全角文字(マルチバイト?)判定 ※1:漢字はシフトJIS ※2:恐らく不完全

英語圏向けサイトの制作時に手軽にチェックできればな~と。

こういうことをする際に、「何とかならないか?」と思い当たるのは、やはり正規表現。
正規表現だったらテキストエディタ上でもツールを使ってでも、気軽に使えますから。

しかし、まずは先駆者様の素晴らしい成果に頼るのが無難でしょう。
↓お勧めソフト。まずはこちらで判定。

ZenkakuWinの詳細情報 : Vector ソフトを探す!

さらに、念の為の策として、正規表現での判定を実行。
全角全てにマッチさせられないかと、参考サイトを元に考えたのが以下になります。

■まず、全角和文+全角アラビア数字を目指した物
[0-9a-zA-Zぁ-んァ-ヶ亜-黑、-◯一二三四五六七八九十百千万億兆京あいうえお]

■次に、ローマ数字や丸囲いの数字など、混在しがちな物を含めた物
[0-9a-zA-Zぁ-んァ-ヶ亜-黑、-◯一二三四五六七八九十百千万億兆京あいうえお Α-ωА-яⅠ-Ⅹ①-⑳─-╂]

■さらに、半角和文をプラス
[0-9a-zA-Zぁ-んァ-ヶ亜-黑、-◯一二三四五六七八九十百千万億兆京あいうえお Α-ωА-яⅠ-Ⅹ①-⑳─-╂。-゚]

検索して調べていると、よく見かけるのが、記号と全角スペースを含んでいないパターン。
記号は [、-◯] で表現しています。
全角スペースは平仮名「お」とギリシャ文字の間のスペース。

また、和文チェックという所が主であれば、半角カナも捨てる訳にはいきません。
半角カナ+半角和文記号は [。-゚] なのだそうです。

それと、平仮名あ行と漢数字は範囲指定が出来ないとの記述があったので、個別指定。

※1 漢字はシフトJIS内での範囲指定です。

※2 恐らく不完全。
というのは、検証仕切れていないからです。何事も鵜呑みにしない。これ鉄則。
また、想定外、未知の文字があったりもするかもしれない・・・

[参考]

0 件のコメント:

コメントを投稿