我正在尝试提取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_replace
和regex_escape
但不是纯正的正则表达式匹配器。
http://docs.ansible.com/ansible/playbooks_filters.html#json-query-filter
答案 0 :(得分:3)
regex_replace应该可以解决问题。
这是代码。我基本上都在寻找“ALERTPUBLISHER - &#39;字符串并剪切它后面的32个字符的字符串keeping it in a named group(在音符上方),然后在输出中使用它。
我注意到你的API在json中,如果你有可能它可能会很方便,如果你要求一个只有uuid字符串的附加字段。这将比任何正则表达式更强大。
requestLocation()
这给了我以下输出
PromiseKit