Ansible替换模块的正则表达式?

regex for Ansible replace module?

我试图通过设置行

来禁用我的默认 /etc/yum.repos.d/*.repo 文件
enabled=1

enabled=0

使用 Ansible 的替换模块非常简单。然而,一些 *.repo 文件有

enabled=1

而有些人

enabled = 1

也就是说,有的在=号两边没有space,有的有。此任务中的正则表达式值应该是多少才能同时处理这两个问题?

- name: Disable the existing CentOS repos in /etc/yum.repos.d
  replace:
    dest: /etc/yum.repos.d/{{ item }}
    regexp: "enabled = 1" ####### What should this be?? ########
   replace: "enabled=0"
  with_items:
  - CentOS-Base.repo
  - CentOS-fasttrack.repo
  - CentOS-Vault.repo
  - CentOS-CR.repo

替换模块中的regexp参数使用Python regular expressions。您需要做的就是为等号之间的空格 (\s) 添加零个或多个限定符 (*)。

- name: Disable the existing CentOS repos in /etc/yum.repos.d
  replace:
    dest: /etc/yum.repos.d/{{ item }}
    regexp: 'enabled(\s)*=(\s)*1'
    replace: "enabled=0"
  with_items:
  - CentOS-Base.repo
  - CentOS-fasttrack.repo
  - CentOS-Vault.repo
  - CentOS-CR.repo