ARTEMIS-4262 clarify wildcard syntax documentation

This commit is contained in:
Justin Bertram 2023-04-26 12:50:21 -05:00 committed by Bruscino Domenico Francesco
parent 126765decc
commit aad3d0b90d
1 changed files with 38 additions and 13 deletions

View File

@ -1,30 +1,55 @@
# Wildcard Syntax
Apache ActiveMQ Artemis uses a specific syntax for representing wildcards in security
settings, address settings and when creating consumers.
Apache ActiveMQ Artemis uses a specific syntax for representing
wildcards in security settings, address settings and when creating
consumers.
The syntax is similar to that used by [AMQP](https://www.amqp.org).
An Apache ActiveMQ Artemis wildcard expression contains words delimited by the character
`.` (full stop).
An Apache ActiveMQ Artemis wildcard expression contains **words
separated by a delimiter**. The default delimiter is `.` (full stop).
The special characters `#` and `*` also have special meaning and can
take the place of a word.
take the place of a **word**.
To be clear, the wildcard characters cannot be used like wildcards in
a [regular expression](https://en.wikipedia.org/wiki/Regular_expression).
They operate exclusively on **words separated by a delimiter**.
## Matching Any Word
The character `#` means "match any sequence of zero or more words".
So the wildcard `news.europe.#` would match:
- `news.europe`
- `news.europe.sport`
- `news.europe.politics`
- `news.europe.politics.regional`
But `news.europe.#` would _not_ match:
- `news.usa`
- `news.usa.sport`
- `entertainment`
## Matching a Single Word
The character `*` means "match a single word".
So the wildcard `news.europe.#` would match `news.europe`,
`news.europe.sport`, `news.europe.politics`, and
`news.europe.politics.regional` but would _not_ match `news.usa`,
`news.usa.sport` or `entertainment`.
The wildcard `news.*` would match:
- `news.europe`
- `news.usa`
The wildcard `news.*` would match `news.europe`, but not
`news.europe.sport`.
But `news.*` would _not_ match:
- `news.europe.sport`
- `news.usa.sport`
- `news.europe.politics.regional`
The wildcard `news.*.sport` would match `news.europe.sport` and also
`news.usa.sport`, but not `news.europe.politics`.
The wildcard `news.*.sport` would match:
- `news.europe.sport`
- `news.usa.sport`
But `news.*.sport` would _not_ match:
- `news.europe.politics`
## Customizing the Syntax