我在學python時會瘋了。不能用字符串來形式化變量?
這裏是一個代碼片段:
import re
class Spam:
def egg(self, pat):
print pat
attribute_pattern = r'(\s[a-z\-]+=".*?")*'
ok_uber_string = '<(us-patent-grant)' r'(\s[a-z\-]+=".*?")*' '>(.*?)(</\1>)'
bad_uber_string = '<(us-patent-grant)' attribute_pattern '>(.*?)(</\1>)'
pat = re.compile(bad_uber_string)
與bad_uber_string將不能編譯,得到一個SyntaxError行:無效的語法
這有可能是用戶錯誤,我究竟做錯了什麼?
感謝 帕特
使用'+'拼接'bad_uber_string ='<(us-patent-grant)'+ attribute_pattern +'>(。*?)(\1>)' – avasal 2013-02-27 04:23:37
好的,謝謝,但爲什麼「ok_uber_string」在沒有+的情況下工作 – fishtoprecords 2013-02-27 04:47:37