42012


ansible公式サイトのreplaceモジュールの使用例の、  
replaceキーの`\1`や`\2`は、どういう意味でしょうか？

### 使用例

[code]

    # Before 2.3, option 'dest', 'destfile' or 'name' was used instead of 'path'
    - replace:
        path: /etc/hosts
        regexp: '(\s+)old\.host\.name(\s+.*)?$'
        replace: '\1new.host.name\2'
        backup: yes
    
[/code]

### 公式サイトの使用例

<http://docs.ansible.com/ansible/latest/replace_module.html#examples>


CC BY-SA 3.0
2018-02-26T02:52:37.467
42010
2018-09-28T07:01:09.540
27539
question
ansible
ansibleでreplaceの使用例の'\1'と'\2'はどういう意味でしょうか？


正規表現の **後方参照** と呼ばれるもので、`regexp:`キーの`()`で括られた部分の正規表現にマッチした値と順に置き換えられます。

[code]

    regexp: '(\s+)old\.host\.name(\s+.*)?$'
    
[/code]

1つ目の`()`にマッチした値が`\1`に、2つ目の`()`にマッチした値が`\2`に、以下開きカッコ`(`が増えるたびに`\n`の対応する数字も増えていきます。


CC BY-SA 3.0
2018-02-26T03:18:27.197
42012
2018-02-26T03:18:27.197
3060
42010
answer