「ワイルドカードの学び方:書ける前に読めるようにする」、「ワイルドカードを用いて第●章を検索する方法」、「ワイルドカードを用いて特許明細書の段落番号を検索する」に続く記事です。
これまでの記事で紹介した検索対象の定義の方法(記述方法)について、もう一度考えてみます。
さまざまな文字列の指定方法
以下の表のように、漢字やひらがな、カタカナ、アルファベットの記号も指定できます。
表記 | 意味 |
[0-9] | 半角数字0~9の任意の1文字 |
[0123456789] | 半角数字0~9の任意の1文字 |
[0-90-9] | 半角数字0~9と全角数字0~9の任意の1文字 |
[5-9] | 半角数字5、6、7、8、9の任意の1文字 |
[a-z] | 半角小文字アルファベットの任意の1文字 |
[A-Z] | 全角大文字アルファベットの任意の1文字 |
[A-C] | 半角のA、B、Cの任意の1文字 |
[A-Za-z] | 半角アルファベットの任意の1文字
(大文字・小文字をすべて含む) |
[A-Za-zA-Za-z] | アルファベットの任意の1文字
(半角、全角、大文字、小文字をすべて含む) |
[ぁ-ん] | ひらがなの任意の1文字 |
[ァ-ヾ] | 全角カタカナの任意の1文字 |
[ヲ-゚] | 半角カタカナの任意の1文字 |
[㐂-舘] | 漢字の任意の1文字
(「CJK統合漢字拡張A」~「CJK互換漢字」に対応) |
[ -~] | 半角スペースと半角英数字記号の任意の1文字
(「基本ラテン」に対応) |
上記の範囲を指定する方法については、記事「ワイルドカードの文字列の範囲の選び方」で紹介したとおりです。最初は、このようなものだと思ってそのまま使ってください。
繰り返し回数の指定方法
次に、半角の波括弧である { と } は、波括弧の直前に指定された文字が連続して表記する回数を意味します。繰り返す回数をコンマで区切って表し、1以上の値と255以下の値で指定できます。特定の値を繰り返す場合の指定もできます。以下のように書きます。
表記 | 繰り返し回数の意味 |
{1,10} | 1回以上、10回以下 |
{1,} | 1回以上、255回以下(上限を指定しない場合は255になる) |
{5,5} | 5回(5回以上、5回以下なので5回) |
{5} | 5回(コンマ以降を省略すると、特定の回数を指定できる) |
[0-9]{5} | 5桁の半角数字([0-9][0-9][0-9][0-9][0-9]と同じ意味) |
自然言語の概念の記述例
これらのルールを組み合わせていくと、自然言語の概念に近づいてきます。以下の例を見て、なぜそうなるのか考えてみてください。
検索式 | 意味 | 考え方 | 検索可能な文字 |
[0-90-9]{1,} | 数字 | 日本語の文書では全角と半角の数字が使われるので、両方に対応 | 1
20 300 |
[A-Za-z]{1,} | 英単語
1語 |
日本語の文書でも英単語は半角のアルファベットで書くことが多いので、半角のみに対応 | Dog
pen Word |
[A-Za-z ]{1,} | 英単語
複合語 文 |
上記に半角スペースを追加すると、複合語(単語が連なったもの)にも対応 | Dog
pen Word This is a pen Microsoft Word |
冒頭でも述べた通り、私たちが自然言語で用いる概念を正規表現で表した例を読み解くことが、ワイルドカード検索の勉強の近道です。最初は、既存の例をそのままコピペで利用すればいいのです。自分でひねり出す必要はありません。