我正在尝试将一些大写的bbcode标记替换为小写,如下所示:
p=re.compile(r'\[URL="(.*?)"\](.*?)\[/URL\]',re.S+re.I)
message=p.sub('[url=\\1]\\2[/url]',message)
但我需要替换大量标签,所以我不会为每个标签进行编译。如果我使用[(。*?)],那么sub将替换为相同的大写。
所以问题是:
如何使用Python中的RE替换和小写2个或更多个组
答案 0 :(得分:1)
那么,我从这里开始使用简单的方法:
text='dsads [QUOTE]test[/QUOTE]<br><br>[URL=http://test.com]what[/URL] dsadkd [B]TEST[/B]'
def replacement(match):
return "["+match.group(1).lower()+"]"
>>> re.sub(r'\[(.*?)\]', replacement, text)
RESULT: 'dsads [quote]test[/quote]<br><br>[url=http://test.com]what[/url] dsadkd [b]TEST[/b]'