正则表达式用于删除单词中的特殊字符

时间:2019-01-15 09:17:24

标签: regex split ansible

我有一个值:“ 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']”(最后两个附加符号)。我的正则表达式对吗?还是如何添加新的正则表达式来删除这两个附加符号“']”?

1 个答案:

答案 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"