ansible YAML正则表达式过滤器

时间:2017-06-29 11:32:28

标签: ansible yaml

我正在尝试提取API响应的guid值,这里是响应的示例:

"api_request.json": {
        "message": "\"Role name 'mgmt-ALERTPUBLISHER-uuid-placeholder' is not compliant. Use 'mgmt-ALERTPUBLISHER-b7d445b08a96e7f19ff0ff005686cddd', or do not use a name of the format <service name>-<roletype>-<arbitrary value>.\""
    }

这是我的正则表达式:

<div>\p{Any}*?</div>|[0-9a-f]{32}

如何在YAML中使用正则表达式?

我只找到regex_replaceregex_escape但不是纯正的正则表达式匹配器。

http://docs.ansible.com/ansible/playbooks_filters.html#json-query-filter

1 个答案:

答案 0 :(得分:3)

regex_replace应该可以解决问题。

这是代码。我基本上都在寻找“ALERTPUBLISHER - &#39;字符串并剪切它后面的32个字符的字符串keeping it in a named group(在音符上方),然后在输出中使用它。
我注意到你的API在json中,如果你有可能它可能会很方便,如果你要求一个只有uuid字符串的附加字段。这将比任何正则表达式更强大。

requestLocation()

这给了我以下输出

PromiseKit