我想在ansible plabook中搜索并替换“GATEWAY = 192.168.0.253”。 我在代码之下,但字符串没有被替换。我不擅长 任何帮助将被赞赏匹配该行的字符串末尾。
tasks:
- name: "Homenet GateWay Change"
replace:
dest: /opt/ifcfg-br0
regexp: '^(GATEWAY=)\s*$'
replace: 'GATEWAY=192.168.0.1'
backup: yes
when: HOMENET
- name: "Hoemnet DNS Change"
replace:
dest: /opt/ifcfg-br0
regexp: '^(DNS1=)\s*$'
replace: 'DNS1=192.168.0.1'
backup: yes
when: HOMENET
- service: name=network state=restarted
答案 0 :(得分:0)
如果您要查找任何IP地址,可以使用此正则表达式:
GATEWAY=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
或者,如果您不是在寻找有效的IP,您也可以使用此正则表达式:
GATEWAY=[0-9\.]+
并将其替换为
GATEWAY=192.168.0.1
这是一个正在运行的例子:
var text = "This is a GATEWAY=192.168.0.3 and this is also a GATEWAY=192.168.0.8";
var regex = /GATEWAY=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/g
var replacement = "GATEWAY=192.168.0.1";
var result = text.replace(regex, replacement);
console.log(result);