1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Added a note about escaping backreferences when using 'regex_replace' filter.

Users will often be puzzled why 'regex_replace' is not working as intended when used inside
YAML arguments. This note explains what they have to do to get it working.
This commit is contained in:
Tadej Janež 2014-10-02 19:11:48 +02:00
parent 43eb821d3f
commit 49c463f98b

View file

@ -355,6 +355,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') }}
.. note:: If "regex_replace" filter is used with variables inside YAML arguments (as opposed to simpler 'key=value' arguments),
then you need to escape backreferences (e.g. ``\\1``) with 4 backslashes (``\\\\``) instead of 2 (``\\``).
A few useful filters are typically added with each new Ansible release. The development documentation shows A few useful filters are typically added with each new Ansible release. The development documentation shows
how to extend Ansible filters by writing your own as plugins, though in general, we encourage new ones how to extend Ansible filters by writing your own as plugins, though in general, we encourage new ones
to be added to core so everyone can make use of them. to be added to core so everyone can make use of them.