python3系で複数回文字列置換を行いたい


python3系で対象となる文字列に含まれるパターンすべてを置換するにはどうすればいいでしょうか？  
例としましては

[[wiki.cgi?=PAGE|PAGE]]を参照するには[[wiki.cgi?=TITLE|TITLE]]にアクセスしてください  
↓  
[[PAGE]]を参照するには[[TITLE]]にアクセスしてください

のようにしたいと考えております。




reモジュールの[sub関数](https://docs.python.jp/3/library/re.html#re.sub)、もしくは[regex.sub](https://docs.python.jp/3/library/re.html#re.regex.sub)が使えます。

例:

[code]

    In [1]: import re
    
    In [2]: re.sub(r'\[\[wiki\.cgi\?=([A-Z]+)\|\1\]\]', r'[[\1]]', '[[wiki.cgi?=PAGE
       ...: |PAGE]]を参照するには[[wiki.cgi?=TITLE|TITLE]]にアクセスしてください')
    Out[2]: '[[PAGE]]を参照するには[[TITLE]]にアクセスしてください'
    
[/code]




reモジュールの[sub関数](https://docs.python.jp/3/library/re.html#re.sub)、もしくは[regex.sub](https://docs.python.jp/3/library/re.html#re.regex.sub)が使えます。

例:

[code]

    In [1]: import re
    
    In [2]: re.sub(r'\[\[wiki\.cgi\?=([A-Z]+)\|\1\]\]', r'[[\1]]', '[[wiki.cgi?=PAGE
       ...: |PAGE]]を参照するには[[wiki.cgi?=TITLE|TITLE]]にアクセスしてください')
    Out[2]: '[[PAGE]]を参照するには[[TITLE]]にアクセスしてください'
    
[/code]

