Add example for regex_replace using named groups
This commit is contained in:
parent
31d06886d5
commit
fa3848a1f2
1 changed files with 3 additions and 0 deletions
|
@ -520,6 +520,9 @@ To replace text in a string with regex, use the "regex_replace" filter::
|
||||||
# convert "foobar" to "bar"
|
# convert "foobar" to "bar"
|
||||||
{{ 'foobar' | regex_replace('^f.*o(.*)$', '\\1') }}
|
{{ 'foobar' | regex_replace('^f.*o(.*)$', '\\1') }}
|
||||||
|
|
||||||
|
# convert "localhost:80" to "localhost, 80" using named groups
|
||||||
|
{{ 'localhost:80' | regex_replace('^(?P<host>.+):(?P<port>\\d+)$', '\\g<host>, \\g<port>') }}
|
||||||
|
|
||||||
.. note:: Prior to ansible 2.0, if "regex_replace" filter was used with variables inside YAML arguments (as opposed to simpler 'key=value' arguments),
|
.. note:: Prior to ansible 2.0, if "regex_replace" filter was used with variables inside YAML arguments (as opposed to simpler 'key=value' arguments),
|
||||||
then you needed to escape backreferences (e.g. ``\\1``) with 4 backslashes (``\\\\``) instead of 2 (``\\``).
|
then you needed to escape backreferences (e.g. ``\\1``) with 4 backslashes (``\\\\``) instead of 2 (``\\``).
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue