アンタイ・フォレンジック伝道者の独り言

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

U+30B7 U+030B を検索するには?

EnCase であれば、Grep オプションを利用してこんな正規表現でいけますかね。

フォレンシ.ック

シ U+30B7 の後ろに任意の1文字が来るパターンが一致するので、U+030B または別の文字があってもヒットします。ただ、この正規表現では「フォレンショック」でもヒットしてしまいます。しかし、「シ」に何が結合されるかわからない状況ではこれくらいでしょうか。
どうせならフォレンシックでもヒットするように、こんな風でもよいかもしれません。

フォレンシ.{0,1}ック

すでにお気づきだとは思いますが、この検索表現には大きな問題点がありますやね。
どちらも フォレンシ U+030B ック、フォレンシ U+3099 ック、を検索することができますが、ジ U+30B8 を使っている「フォレンジック」がヒットしてくれません。
ついでに言えば、いわゆる半角カタカナで「フォレンジック」と書かれている場合も一致してきません。
シ または ジ ということであれば、16進形式で \x30(\xB7|\xB8) とか書いてもよいのかもしれませんが、バイト列の並びなどを考慮するとかなり複雑になりそうです。
ここで恐らく Unicode 正規化の出番ってことになるんでしょうかね(笑)