Ansible regex_replace

时间:2017-11-10 12:05:24

标签: regex ansible yaml ansible-2.x

我试图捕获变量的主版本号,为此我尝试删除主版本号后面的数字:

variable.yml

version: 3.9.5
main_version: "{{ version | regex_replace('^.*(..)$', '')}}"

这应该给我3.9,但是调试没有给我任何东西。

这样做的正确方法是什么?

(并确保它仍然可以处理3.10.1之类的内容,以便返回main_version 3.10,以及3.10.1-rcblah之类的内容},这将返回main_version的{​​{1}}

1 个答案:

答案 0 :(得分:1)

我猜你的正则表达式应该是这样的:

'^.*(\.[0-9]*)$'

但为什么不使用version_comparehttp://docs.ansible.com/ansible/latest/playbooks_tests.html#version-comparison