

`re.sub()` の中でマッチした文字列を置換先の文字列として使用したい場合、どのように書けばよいでしょうか。

ドキュメントに書いてある方法に従っていますが、うまく出力されません。

### 現状のコード

[code]

    import re
    
    if __name__ == '__main__':
        tmp = re.sub('(a|b)', '\1\n', 'aiueobcd')
        print(tmp)
    
[/code]

### 期待する出力

[code]

    a
    iueob
    cd
    
[/code]

### 実際の出力

[![出力結果](https://i.stack.imgur.com/M3C1M.png)](https://i.stack.imgur.com/M3C1M.png)

### 参考にしたサイト

[re --- 正規表現操作 — Python 3.9.4
ドキュメント](https://docs.python.org/ja/3/library/re.html)  
[Python | 正規表現にマッチした文字列を新しい文字列に置換する(Pattern.sub,
Pattern.subn)](https://www.javadrive.jp/python/regex/index10.html)

### 環境

[code]

    ❯ python --version     
    Python 3.9.5
    
[/code]

よろしくお願いします。


CC BY-SA 4.0
2021-06-29T14:03:17.800
77861
2023-02-13T08:08:36.023
2021-06-29T17:53:35.857
44648
44648
question
python 正規表現
Python　re.sub() の正規表現内でグループと`|`を使用した際、 置換させる文字列内でマッチした文字列を使用したい


metropolis さんのコメントの Raw 文字列の使用をお勧めしますが、Raw 文字列を使用しない場合は

[code]

    #tmp = re.sub('(a|b)', '\1\n', 'aiueobcd')
    tmp = re.sub('(a|b)', '\\1\n', 'aiueobcd')
    
[/code]

としてください。


CC BY-SA 4.0
2021-06-29T15:56:05.897
77863
2021-06-29T15:56:05.897
41756
77861
answer