我试图在python中使用sub函数但无法使其工作。到目前为止我已经
了content = '**hello**'
content = re.sub('**(.*)**', '<i>(.*)</i>', content)
我正在尝试制作
**hello**
替换为
<i>hello</i>
有什么想法吗?
答案 0 :(得分:3)
您需要转义*
字符,并使用替换函数:
content = '**hello**'
content = re.sub('\*\*(.*)\*\*', lambda p : '<i>%s</i>' % p.group(1), content)
作为替代方案,您可以使用命名组。
content = re.sub('\*\*(?P<name>.*)\*\*', '<i>\g<name></i>', '**hello**')
或者作为更好的选择,编号组。
content = re.sub('\*\*(.*)\*\*', '<i>\\1</i>', '**hello**')