電子書籍の厳選無料作品が豊富!

re.subを用いて文字列の置換を行いたいのですが、用いる正規表現が大量にあるため、
re.subの第一引数としてリストの要素を用いたいと考えています。
しかし、リストの要素どころか、第一引数に文字列を指定しても、置換を行うことができません。

regex = r"ABC"
text = re.sub(regex, "ZXC", original)

text = re.sub(r"ABC", "ZXC", original)
このように書けばうまくいくのですが・・・、リストの要素を正規表現に用いた置換は不可能なのでしょうか。
宜しくお願い申し上げます。

A 回答 (1件)

>>> import re


>>> original=r'ABCDEFG'
>>> regex = r"ABC"
>>> text = re.sub(regex, "ZXC", original)
>>> original
'ABCDEFG'
>>> regex
'ABC'
>>> text
'ZXCDEFG'

>>> regexs=[r'CDE',r'DEF',r'EFG']
>>> text2 = re.sub(regexs[1],'RTY', original)
>>> text2
'ABCRTYG'

>>> for r in regexs: print re.sub(r,'_*_', original)
...
AB_*_FG
ABC_*_G
ABCD_*_

ちゃんと置換できてますよ
何か勘違いがあるのでは?
    • good
    • 0
この回答へのお礼

早速有難うございます、おっしゃる通り勘違いでした。
気づいてよかったです、本当にありがとうございました!

お礼日時:2016/10/12 00:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!