1

Pythonでサブ関数を使用しようとしていますが、機能させることができません。これまでのところ私は

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 に答える