大量のデータから曖昧なワードを検索する方法

表記が統一されていない単語などを検索するとき、対象のデータが膨大だと網羅するのは非常に手間が掛かります。そんなときに使える方法をご紹介します。

正規表現を使う

正規表現とは、「ある特定のパターンを持つ文字列を指定する表記法」です。一定の条件をもつ単語であれば、正規表現を使えば一度に検索できるようになります。正規表現は文字列の検索や置換に使えます。

テキストエディタにおいて検索時の設定で正規表現をオンにすることで使用することができます。

表現が曖昧な単語

「20才」「二十歳」「新成人」など、単語自体の表現が統一されていないものを検索したい。

このような場合は、単語同士を"|"(バーティカルバー)で区切ることにより複数の単語を一度で検索することができます。

上記の例であれば以下のようになります。

20|二十歳|新成人

このように指定することで、「20才」「二十歳」「新成人」という単語全てを一度で検索できます。

送り仮名が曖昧な単語

例えば「申し込み」という単語で検索を掛けたいが、「申込」「申込み」など送り仮名が統一されていないものを全て検索したい。かつ、「申し込んだ」「申し込む」など動詞として使われているワードは引っかからないようにしたい。

この場合考えられるパターンはこのようになります。

1.「申」の後に「し」が付くものと付かないもの
2.「込」の後の文字が平仮名の場合は「み」だけ、平仮名でない場合は何でもいい

以上について一つずつ解説していきます。

1.「申」の後に「し」が付くものと付かないもの

こちらを正規表現で表すと以下のようになります。

申し?

正規表現において、"?"は直前の文字が0個もしくは1個あるということを表します。
この場合では"?"の直前の文字である「し」が0個もしくは1個ある、つまりワードとしては「申」もしくは「申し」が検索条件に一致するということを表しています。

2.「込」の後の文字が平仮名の場合は「み」だけ、平仮名でない場合は何でもいい

こちらを正規表現で表すと以下のようになります。

[^ぁ-まむ-ん]

正規表現においては、"[]"(ブラケット)で囲んだ文字のどれか一つと一致したら検索結果に表示させることができます。
また、"-"(ハイフン)で文字の範囲を指定できます。例えば、"[0-9]"と指定すると全ての数字が検索に一致するようになります。

今回はこちらを参考に、平仮名の中で「み」のみを除外した範囲を指定しました。つまり"[ぁ-まむ-ん]"は「み」以外の平仮名が全て検索条件に一致するという意味になります。
この意味を反転すると、「み」以外の平仮名が全て検索条件に一致しない、言い換えると平仮名の場合は「み」だけが検索条件に一致するということになります。

"[]"(ブラケット)内の意味を反転するには、"[^■■■]"のようにブラケット内の最初に"^"(キャレット)を付けます。
これで望んだ条件に合う検索結果を表示させることができます。

以上2点をまとめるとこのようになります。

申し?込[^ぁ-まむ-ん]

これで名詞として使われている「申し込み」という意味の単語を検索することができます。

正規表現を活用しよう

正規表現は他にもたくさんあり、業務改善や効率化を助けてくれます。
簡単に日常の作業に取り入れることができるので、ぜひ活用してみてください。

この記事が気に入ったらサポートをしてみませんか?