python - Ansible Playbooks 中 IP 范围的正则表达式匹配以进行分组

标签 python regex ansible

我正在尝试为 ansible-playbook 中的动态组编写一个正则表达式作为示例 IP 范围。 如果地址范围是 172.30.0.(0 到 254).(0 到 254)。我的正则表达式就像 172.30.[0-254].[0-254]。它是否正确 ?即使我的主机在范围内,任务也会被跳过,并且不会形成任何组。

任务: - group_by: key=adda 当:ansible_default_ipv4.network == '172.30.[0-254].[0-254]'

grouping picture

最佳答案

当使用运算符“==”时,在 python 中,您将尝试查找名称为“172.30.[0-254[.[0-254]”的匹配字符串

在ansible中,您可以使用Python表达式,例如搜索或匹配。

所以你需要输入这样的内容:

when: ansible_default_ipv4.address | match("172.30.")

做了一个测试ansible playbook来验证它。

关于python - Ansible Playbooks 中 IP 范围的正则表达式匹配以进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725204/

相关文章:

python - 有没有一个文本编辑器会自动判断是否缩进空格或制表符?

python - 使用networkx在Python中以graph6格式保存图形

c++ - 正则表达式很奇怪

java - Sed 用另一个文本替换多行 Java 注释

Ansible - 如何有条件地反转剧本中的变量

python - x.view(x.size(0), -1) 和 torch.nn.Flatten() 层和 torch.flatten(x) 有什么区别? torch 问题

python - Conda删除卸载的软件包比预期多

regex - 使用 egrep 在 bash 中查找被空格包围的行中的字符

ansible - 在 Ansible 中,如何连接到 Windows 主机?

ansible - 使用 delegate_to 运行 adhoc wait_for