[問題] 怪怪的re.sub取代結果

看板Python作者 (HIHIHI)時間14年前 (2011/08/21 09:20), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
明明是很簡單的字串取代,但卻出現奇怪的結果 x='fdaf<TMPL_VAR NAME=EDITION>fdafldfl' z = re.search(r'<TMPL_VAR NAME=(.+?)>',x).groups()[0] z ==> 'EDITION' y = re.sub(r'<TMPL_VAR NAME=(.+?)>','{\1}',x) y ==> 'fdaf{\x01}fdafldfl' 不是應該是 y ==> 'fdaf{EDITION}fdafldfl' 嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.5.111

08/21 09:29, , 1F
sub(pattern, repl, string, count=0) <=help(re.sub)
08/21 09:29, 1F

08/21 09:30, , 2F
你可能需要再仔細看一下....
08/21 09:30, 2F

08/22 20:38, , 3F
並不是不懂sub的用法,是因為出現奇怪的結果才問的...
08/22 20:38, 3F

08/22 22:56, , 4F
出現這個結果就是因為你沒搞懂 sub 的用法啊 orz
08/22 22:56, 4F

08/23 00:02, , 5F
我只能ㄎㄎ了....
08/23 00:02, 5F

08/23 08:17, , 6F
正解: re.sub(r'<TMPL_VAR NAME=(.+?)>',r'{\1}',x)
08/23 08:17, 6F
文章代碼(AID): #1EK5rYgO (Python)
文章代碼(AID): #1EK5rYgO (Python)