1

我正在尝试在 python 中使用 sub 函数,但无法使其正常工作。到目前为止我有

content = '**hello**'
content = re.sub('**(.*)**', '<i>(.*)</i>', content)

我正在努力使

**hello**

被替换为

<i>hello</i>

有任何想法吗?

4

1 回答 1

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**')
于 2012-10-13T11:34:41.410 回答