以下の文字は検索クエリー構文で特別な意味を持つため、検索語では特別な文字として扱われます。これらの文字を検索文字として利用する場合にはエスケープする必要があります。
これらの文字は、必須・除外指定(+ -)、ブール演算(&& || !)、グループ化(( ))、範囲検索([ ] { })、ブースト検索(^)、フレーズ検索(")、あいまい検索(~)、ワイルドカード検索(* ?)、フィールド指定検索(:)などの検索機能を呼び出すために使われます。
たとえば URL やファイルパスに含まれる「/」「:」、プログラム中の「+」「-」などをそのまま検索すると、意図しない検索結果になることがあります。エスケープの方法は以下を参照してください。
特殊文字の一覧と意味
| 特殊文字 | 意味・役割 | 関連ページ |
|---|---|---|
+ - | 必須語・除外語の指定(AND 検索 / NOT 検索) | AND 検索 / NOT 検索 |
&& || | AND 検索 / OR 検索 | AND 検索 / OR 検索 |
! | NOT 検索(除外検索) | NOT 検索 |
( ) | 検索条件のグループ化 | 詳細検索 |
[ ] { } | 範囲指定検索([ ] は境界を含む、{ } は境界を含まない) | 範囲指定検索 |
^ | ブースト検索(重み付け) | ブースト検索 |
" | フレーズ検索(囲んだ範囲を1語句として扱う。エスケープの代わりにも使える) | 詳細検索 |
~ | あいまい検索(ファジー検索) | 曖昧検索 |
* ? | ワイルドカード検索 | ワイルドカード検索 |
: | 検索フィールドの指定 | 検索フィールド指定検索 |
\ | エスケープ文字 | (本ページ) |
/ | スラッシュ(URL などに含まれる場合はエスケープが必要) | 検索フィールド指定検索 |
利用方法
特別な文字を検索文字そのものとして扱うには、次のいずれかの方法を利用します。
\を文字の直前に付けてエスケープします。直後の 1 文字が検索構文ではなく通常の文字として扱われます。"で検索語を囲みます。囲まれた文字列はフレーズ検索として扱われ、内部の特別な文字は検索構文として解釈されません。ただしフレーズ検索になるため、ワイルドカード検索(*?)などの機能は利用できません。
たとえば「C++」を検索語として扱いたい場合は、以下のようにエスケープします。