---
title: "AQL operator reference"
url: "https://axoflow.com/docs/axoflow/0.86/reference/aql/"
last_modified: "2025-10-06T15:00:13+02:00"
---

> For the complete documentation index, see [llms.txt](https://axoflow.com/docs/axoflow/0.86/llms.txt).

# AQL operator reference

AQL Query search supports the following comparison operators.

Case insensitive:

- Equals (`=`): the whole value equals to the pattern
- Not equals (`!=`): the value isn’t exactly equal to the whole pattern
- Contains (`=*`): the value contains the given pattern
- Doesn’t contain (`!*`): the value doesn’t contain the given pattern
- Matches (`=~`): the pattern as a regular expression matches the value
- Doesn’t match (`!~`): the case-insensitive regular expression doesn’t match

The comparison operators have their corresponding case sensitive (strict) versions:

- Equals (`==`)
- Not equals (`!==`)
- Contains (`==*`)
- Doesn’t contain (`!=*`)
- Matches: (`==~`)
- Doesn’t match (`!=~`)

The syntax of the regular expressions accepted is the same general syntax used by Perl, Python, and other languages. The regular expressions are evaluated in case-insensitive mode in case of the `=~` and `!~` operators. The patterns are not anchored to the whole string, but you can use `^` at the beginning of the pattern and `$` at its end to match the whole value.

![AQL Query comparison operators](https://axoflow.com/docs/axoflow/0.86/reference/aql/aql-comparison-operators_hu_3c520a4bd0699410.webp)

You can create complex queries using the `AND` and `OR` logic operators and parentheses, for example, `( host_name =* azure AND host_label_team = network ) OR ( host_name =* app AND host_label_app =* windows )`

## Escaping rules

Enclose the field names and values in single-quotes (`'`), double-quotes (`"`), or `` \` `` if it contains characters not on this list: `@`, `a-z`, `0-9`, `._-`
If all three quote types occur, enclose with single-quotes and escape single-quotes as `\\'`.

You can escape backslashes as `\\\\`.
