簡體   English   中英

如何使用替換模塊搜索/替換Ansible正則表達式

[英]how to search/replace Ansible regex using replace module

我想搜索並替換舊標簽中的“ 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 

如果要查找任何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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM