Ansible regex_replace

Ansible regex_replace

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

variable.yml中:

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

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

正确的做法是什么?

(并确保它仍然能够处理诸如 3.10.1 之类的事情,这样 return 一个 main_version3.10例如 3.10.1-rcblah,那将 return main_version of 3.10)

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

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

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