全角カナ/半角カナを区別しない検索の方法
過去ログの中から任意の文字列を検索できる機能のついたPerl4&5のCGIで、例えば『2000』と入力して検索した場合は「2000」も「2000」もヒットし、逆に『2000』と入力して検索した場合も「2000」も「2000」もヒットするように組まれたものが手元にあります。
このCGIでは現在、『ジャンプ』などと半角カタカナでキーワードを入れると「ジャンプ」と全角で記録された記事はヒットしてくれないので、これを改造して、カタカナでも全角/半角を区別せず検索出来るようにしようとしています。
このCGIでは、「2000」も「2000」もヒットするようにする為に
'2','(?:2|二|弐|2)','二','(?:2|二|弐|2)','弐','(?:2|二|弐|2)','2','(?:2|二|弐|2)',
というような設定を記述して対応しているようなので、カタカナで同じような事をするには
'ン','(?:ン|ン)','ン','(?:ン|ン)',
半角↑ ↑半角
のような記述も加えてやれば実現するだろうと思い、やってみたのですが、その結果、たとえば全角で『ワン』と検索しても半角の「ワン」どころか全角の「ワン」もヒットしなくなってしまいました。
私は基本的にはCGIの知識は殆ど無いので、例えばこちらのサイトで質問を検索して見つかった
http://www.okweb.ne.jp/kotaeru.php3?q=56136
などを拝見しても、何をどうしていいのかがさっぱり解りません。
'ン','(?:ン|ン)','ン','(?:ン|ン)',
を書き換えて何とか対応することは出来ませんでしょうか?
仮にログの方を全て全角や半角に統一しても、サイトに来られる方が「半角カタカナではヒットしません」という注意に気づかずに検索したら結局検索漏れになってしまうので、何とか実現したいのです。
お解りの方がいらっしゃいましたら、どうかご伝授をお願い致します。
お礼
送れないんですね。回答ありがとうございました。