【问题标题】:How to move word with ansible regex_replace如何使用 ansible regex_replace 移动单词
【发布时间】:2019-12-19 16:06:54
【问题描述】:

如何使用 ansible regex_replace 移动单词。

我有foo_jenkins,想获取secret/foo

hashicorp_vault_role_name : foo_jenkins

- name: "Create policy Jenkins"
  hashivault_policy_set:
    name: "{{hashicorp_vault_role_name}}"
    rules: >
      path "{{ hashicorp_vault_role_name|regex_replace('?', '?') }}/*" {
        capabilities = ["list"]
      }

【问题讨论】:

  • 您好,欢迎来到 SO。你在你身边做了什么尝试?你能告诉我们你的剧本/任务在哪里吗?
  • 请花一些时间来熟悉帮助部分中的站点规则。您不应该将此信息添加到 cmets 中,而是编辑您的问题(并确保您正确格式化代码)。如果您在提出问题和 cmets 之前花一些时间了解所有这些,您将在这里获得更好的体验。
  • 好吧,在帖子中查看我的代码^^

标签: regex replace ansible


【解决方案1】:

根据您提供的信息,以下内容应该可以帮助您:

{{ hashicorp_vault_role_name | regex_replace('(.*)_jenkins', 'secret/\\1') }}

基本上,取hashicorp_vault_role_name 的值,匹配任何后跟_jenkins 捕获表达式的第一部分并替换为secret/ 后跟前一个捕获。

如果你需要稍微改变一下逻辑或者你有其他相同类型的操作要执行,我建议你花点时间learning regular expressions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-08
    相关资源
    最近更新 更多