Ansible 无法在jinja2语法中的花括号中添加花括号

Ansible 无法在jinja2语法中的花括号中添加花括号,ansible,jinja2,Ansible,Jinja2,我有一套jinja2动作,在用管子隔开的花括号中。在这组操作中,我需要添加一个变量,但我不断地遇到语法错误 debug: msg: "{{ item.path | basename | regex_replace('{{ variable }}', '') }}" with_items: "{{ content.files }}" 注意,变量将包含一些正则表达式字符串,例如。。。 ansible的问题在于,它在双引号中包含一个双引号。我尝试了转义,将双引号转换为单引号…没有任何效果 当我按

我有一套jinja2动作,在用管子隔开的花括号中。在这组操作中,我需要添加一个变量,但我不断地遇到语法错误

debug:
  msg: "{{ item.path | basename | regex_replace('{{ variable }}', '') }}"
with_items: "{{ content.files }}"
注意,变量将包含一些正则表达式字符串,例如。。。 ansible的问题在于,它在双引号中包含一个双引号。我尝试了转义,将双引号转换为单引号…没有任何效果


当我按原样运行上述函数时,它将变量视为一个文本值。

不需要大括号来表示大括号内的变量。这里有一个简单的剧本来演示:

---
  - name: test
    hosts: localhost
    gather_facts: false
    vars:
      content:
        files:
          - path: /path1/itemXXX.jpg
          - path: /path2/itXem.pdf
      regex_pattern: '[X]+'  # Match one or more X's

    tasks:

      - debug:
          msg: "{{ item.path | basename | regex_replace(regex_pattern, '') }}"
        with_items: "{{ content.files }}"
结果如下:

TASK [debug] ***********************************************************************************************************************************************************************
ok: [localhost] => (item={'path': '/path1/itemXXX.jpg'}) => {
    "msg": "item.jpg"
}
ok: [localhost] => (item={'path': '/path2/itXem.pdf'}) => {
    "msg": "item.pdf"
}