コンテンツにスキップ

特殊文字のエスケープ


エクスプローラー

エクスプローラーでは、一部の文字に特別な意味があります。例えば、スペース は複数の単語を区切るために使用されます。検索内容に以下の文字が含まれる場合は、特別な処理が必要です:スペース:""(全角)、\()[]{}!

検索とフィルターで使用されるクエリ構文が異なるため、特殊文字の処理方法も異なります。

フィルター

複数の演算子をサポートしており、=!=wildcard などがあります。

wildcard 構文ではバックスラッシュ \ に特別な意味があるため、エスケープ処理が必要です:

  • 検索テキストに \ が含まれる場合は、その前にさらにバックスラッシュ \ を追加してエスケープします;
  • その他の演算子(=!= など)を使用してフィルターする場合は、エスケープ処理は必要ありません。

検索

query_string() クエリ構文を使用します。

query_string 構文では、バックスラッシュ \ とダブルクォーテーション " に特別な意味があるため、エスケープ処理が必要です:

  • \:前にさらに3つのバックスラッシュ \ を追加してエスケープします;
  • ":前にさらに1つのバックスラッシュ \ を追加してエスケープします。

変換方法

方法1:テキストをフレーズにする

テキストの両端にダブルクォーテーション " を追加すると、テキストがフレーズに変換されます。この場合、ダブルクォーテーション内の内容は全体として一致検索され、ワイルドカードは無効になります。

テキストに \ または " が含まれている場合、この方法では検索できません。「方法2」 を使用してクエリを実行してください。

例:

フィールド名 cmdline、フィールド値 nginx:worker process を検索します。

  • 検索
"nginx: worker process"   // 検索成功、単語に完全一致
"nginx * process"   // 検索失敗、ダブルクォーテーション内の * はワイルドカードとして認識されないため
  • フィルター
cmdline:"nginx: worker process"   // 検索成功、単語に完全一致
cmdline:"nginx: worker*"  // 検索失敗、ダブルクォーテーション内の * はワイルドカードとして認識されないため

方法2:文字をエスケープする

特殊文字の前にバックスラッシュ \ を追加してエスケープします。検索テキスト自体に \ が含まれている場合、検索とフィルターで処理方法が異なります:

  • 検索:文字の前にさらに3つのバックスラッシュ \ を追加してエスケープします;
  • フィルター:バックスラッシュ \ を1つ追加するだけで済みます。

例:

フィールド名 cmdline、フィールド値 E:\software_installer\vm\vmware-authd.exe を検索します。

  • 検索
E\:\\\\software_installer\\\\vm\\\\vmware-authd.exe     // 検索成功、単語に完全一致
E\:\\\\software_installer*exe     // 検索成功、ワイルドカードによる部分一致
  • フィルター
cmdline:E\:\\software_installer\\vm\\vmware-authd.exe    // 検索成功、単語に完全一致
cmdline:E\:\\software_installer*exe    // 検索成功、ワイルドカードによる部分一致

その他のシナリオ

DQL を使用してデータをクエリする場合、一部の特殊文字を処理する必要があります。関連する機能には、グラフクエリ、クエリツール、メトリクス分析、モニターなどがあります。

フィードバック

このページは役に立ちましたか?