特殊文字

以下の文字は検索クエリー構文で特別な意味を持つため、検索語では特別な文字として扱われます。これらの文字を検索文字として利用する場合にはエスケープする必要があります。

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

これらの文字は、必須・除外指定(+ -)、ブール演算(&& || !)、グループ化(( ))、範囲検索([ ] { })、ブースト検索(^)、フレーズ検索(")、あいまい検索(~)、ワイルドカード検索(* ?)、フィールド指定検索(:)などの検索機能を呼び出すために使われます。

たとえば URL やファイルパスに含まれる「/」「:」、プログラム中の「+」「-」などをそのまま検索すると、意図しない検索結果になることがあります。エスケープの方法は以下を参照してください。

特殊文字の一覧と意味

特殊文字 意味・役割 関連ページ
+ - 必須語・除外語の指定(AND 検索 / NOT 検索) AND 検索 / NOT 検索
&& || AND 検索 / OR 検索 AND 検索 / OR 検索
! NOT 検索(除外検索) NOT 検索
( ) 検索条件のグループ化 詳細検索
[ ] { } 範囲指定検索([ ] は境界を含む、{ } は境界を含まない) 範囲指定検索
^ ブースト検索(重み付け) ブースト検索
" フレーズ検索(囲んだ範囲を1語句として扱う。エスケープの代わりにも使える) 詳細検索
~ あいまい検索(ファジー検索) 曖昧検索
* ? ワイルドカード検索 ワイルドカード検索
: 検索フィールドの指定 検索フィールド指定検索
\ エスケープ文字 (本ページ)
/ スラッシュ(URL などに含まれる場合はエスケープが必要) 検索フィールド指定検索

利用方法

特別な文字を検索文字そのものとして扱うには、次のいずれかの方法を利用します。

  • \ を文字の直前に付けてエスケープします。直後の 1 文字が検索構文ではなく通常の文字として扱われます。

  • " で検索語を囲みます。囲まれた文字列はフレーズ検索として扱われ、内部の特別な文字は検索構文として解釈されません。ただしフレーズ検索になるため、ワイルドカード検索(* ?)などの機能は利用できません。

aaa\/bbb
"aaa/bbb"

たとえば「C++」を検索語として扱いたい場合は、以下のようにエスケープします。

C\+\+
"C++"

関連項目