如何在Ansible中将lambda函数传递给regex_replace?

时间:2019-04-19 15:32:24

标签: ansible

在Ansible中,我尝试使用regex_replace更新一些数字参数(例如,添加3个所有版本号:“ version = 3”应变为“ version = 6”,“ version = 2”应变为“ version = 5“,...)

在Python中,我可以像这样将lambda函数传递给re.sub:

re.sub("version=(\d+)", lambda m: "version=" + str(int(m.group(1))+3), "version=3 blah blah blah whatever version=4")

根据需要提供以下内容:

'version=6 blah blah blah whatever version=7'

似乎无法用正确的语法说服Ansible。
我尝试过:

{{ stringvariable | regex_replace('version=(\\d+)', lambda m: 'version=' + str(int(m.group(1)) + 3) }}

1 个答案:

答案 0 :(得分:0)

  

在Ansible中,我尝试使用regex_replace更新一些数字参数(例如,添加3个所有版本号:“ version = 3”应变为“ version = 6”,“ version = 2”应变为“ version = 5“,...)

如果您只拥有一个一个字符串jest,并且想要发出setTimeout,就没有什么神奇的事情了:

version=2

棘手的地方是当您有多个

version=5