2013-05-25 27 views
2

比方說,我們想用正則表達式來捕獲某些東西,使用rawstring來定義模式,哪個模式具有重複元素,以及裏面的變量。而且我們也希望使用format()字符串格式表單。這個怎麼做?如何格式化內部具有不同表達式的原始字符串?

import re 
text = '"""!some text' 
re.findall(r'"{3}{symbol}some\stext'.format(symbol='!'), text) 

,但此行帶給我們一個IndexError

# IndexError: tuple index out of range 

所以,我的問題是:如何在已格式化大括號的表達,並重復花括號表達格式化原始字符串內?

在此先感謝!

回答

7

逃生大括號與大括號

>>> import re 
>>> text = '"""!some text' 
>>> re.findall(r'"{{3}}{symbol}some\stext'.format(symbol='!'), text) 
['"""!some text'] 

但是最好是隻使用%在這種情況下格式化。

+0

哇,謝謝!我會盡可能地答覆你的答案。所以,不要讓我,但:P –

相關問題