|
|
@ -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 (``\\``).
|
|
|
|
|
|
|
|
|
|
|
|