我有一个值:“ VARIABLE = value0”,我只想取等号后的部分,期望值:“ value0”。
- name: Settig variable
set_fact:
db_name: "{{device_name.stdout_lines}}"
- name:
set_fact:
db_name: "{{ db_name | regex_replace('^(.*[\\=/])') }}"
- debug:
var: db_name
当最后一个任务结束时,它打印出我:“ value0']”(最后两个附加符号)。我的正则表达式对吗?还是如何添加新的正则表达式来删除这两个附加符号“']”?
答案 0 :(得分:0)
您的正则表达式工作正常。 (可选)您可以简化它,或使用拆分过滤器。
> cat test.yml
- hosts: localhost
vars:
device_name: "VARIABLE=value0"
tasks:
- debug:
msg: "regex_replace 1: {{ device_name | regex_replace('^(.*[\\=/])') }}"
- debug:
msg: "regex_replace 2: {{ device_name | regex_replace('.*=') }}"
- debug:
msg: "split: {{ device_name.split('=')[1] }}"
> ansible-playbook test.yml | grep msg
"msg": "regex_replace 1: value0"
"msg": "regex_replace 2: value0"
"msg": "split: value0"