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 # Wildcard Syntax
Apache ActiveMQ Artemis uses a specific syntax for representing wildcards in security Apache ActiveMQ Artemis uses a specific syntax for representing
settings, address settings and when creating consumers. wildcards in security settings, address settings and when creating
consumers.
The syntax is similar to that used by [AMQP](https://www.amqp.org). 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 An Apache ActiveMQ Artemis wildcard expression contains **words
`.` (full stop). separated by a delimiter**. The default delimiter is `.` (full stop).
The special characters `#` and `*` also have special meaning and can 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". 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". The character `*` means "match a single word".
So the wildcard `news.europe.#` would match `news.europe`, The wildcard `news.*` would match:
`news.europe.sport`, `news.europe.politics`, and - `news.europe`
`news.europe.politics.regional` but would _not_ match `news.usa`, - `news.usa`
`news.usa.sport` or `entertainment`.
The wildcard `news.*` would match `news.europe`, but not But `news.*` would _not_ match:
`news.europe.sport`. - `news.europe.sport`
- `news.usa.sport`
- `news.europe.politics.regional`
The wildcard `news.*.sport` would match `news.europe.sport` and also The wildcard `news.*.sport` would match:
`news.usa.sport`, but not `news.europe.politics`. - `news.europe.sport`
- `news.usa.sport`
But `news.*.sport` would _not_ match:
- `news.europe.politics`
## Customizing the Syntax ## Customizing the Syntax