我正在使用 Ansible 读取值并解析它
价值
link: hdfs:///test/test2
输出应该是:
/test/test2
Ansible 不起作用:
- set_fact:
my_var: "{{ link | regex_search('hdfs://') }}"
delegate_to: localhost
下面的任务可以完成任务
- set_fact:
my_var: "{{ link|regex_replace(_regex, _replace) }}"
vars:
_regex: '^(.*)/(.*)/(.*)$'
_replace: '/\2/\3'
给予
my_var: /test/test2
简单的拆分和合并也可以。下面的任务给出了相同的结果
- set_fact:
my_var: "/{{ link.split('/')[-2:]|join('/') }}"
您可以尝试如下操作
hdfs:///test/test2
- name: regex replace
set_fact:
final_var: "{{ basevariable | regex_replace(reg_search, reg_replace) }}"
tags:
- reg-replace