[36055] オーナー グリグリ様
問題解決の一助になった模様ですね。お役に立てて幸いです。(^^)
(全角空白がJisコードで、0x2121である点を指摘出来なかったのは、あたしの手抜きですね・・・。)
[36066] オーナー グリグリ様
どなたか専門家:
全角・半角、大文字・小文字の検索ロジックで正規表現の使い方含めた参考資料ないでしょうか。
横目で、ちらりと見られた気がしました。(^^;
えっと。
大文字小文字の同一視は、iオプションで可能ですが、残念ながら全角・半角の同一視は、正規表現には存在しないんです。
理由はもう、正規表現を制定した国には、全角なんて存在しなかったからです。
さらに、unicodeではもう、全角半角に同一のコードを割り当てているくらいです。
(しかも、半角用に別途領域を割りあえててみたり、無茶苦茶ですけど。)
で、ですね、唯一の「確実な対応」はもう、予め半角を全て一旦全角に変換した上で、対応検索するしかありません。「全て」には全英数字と半角カタカナが含まれます。
また、「"、" "、" "," ","」「"。" "。" "." "."」の取り扱いの問題もあります。
加えて、ギリシャ文字やらキリル文字を、英字を同一視するか否かなどという問題も、その影にありますし、その先には漢字の新旧書体を同一視するか否か、ひらがなとカタカナはどうするか、などとどんどん問題は出てきてしまいます。
・・・つまり、非常に面倒、ということです・・・。
正解は、「使う側がシッカリと考慮して使い分ける」しか無いのかもしれません…
ついでに、処理系による使用漢字コード体系を簡単に記述しておきますね。
Unix系…EUC(Jisコードを重複しない位置へ、綺麗に移動した体系)
Windows…シフトJis(Jisコードを複しない位置へ、自分勝手に移動した体系)
IE…UniCode(Jisコードとは無縁の体系)
従って、現在のWeb環境では、漢字コード体系はひどい状況になっております…。
[36075]N-H さん
とある人が開発して使っていたメールソフトは、全角英数文字はことごとくわざと半角に置き換えて表示し、引用の際も半角になって引用される、というものすごい仕様でした。
これは、この開発者の強いポリシーの表れだったのです。つまり、「文字に半角も全角も無し」というわけです。
う~む。あたしと部分的に逆の発想ですね…
あたしなら「全て全角」にします。
なぜなら、半角カタカナの問題があるからです。
その点を考慮すると、その「とある人」のポリシーは、中途半端なものと言わざると得ません…
バイト単位で請求される時代だったので、まぁ半角の方が安上がりだったのかもしれませんが…。
(突っ込んだ話は地理との無縁度が増すばかりなので、このへんで…)