首页 > 解决方案 > Ansible regex_replace 不起作用

问题描述

"{{ archive_name | regex_replace('^(.*-)?.*-(.*)-.*-.*-.*-.*', '\\g<1>')}}"

上面的命令在 Ansible 中给了我一个错误。archive_name格式为alpine-1.10-324bghz-i-2018-0503. 我正在尝试获取版本号1.10。它返回一个错误\\g<1>\而不是版本号。难道我做错了什么?非常感谢您提供任何帮助或指导。

先感谢您!

标签: regexansibleconfiguration-management

解决方案


您可以简单地拆分字符串,完全避免正则表达式。

{{ archive_name.split('-')[1:2] | join('-') }}

理论上,结果应该只返回1.10(无法测试)。


推荐阅读