re.sub怎么做到替换多行

http://topic.csdn.net/u/20120110/12/42f82c4d-d39a-40df-a10a-d31cc0dd8288.html

 

Python code
import re s ="""ddd[AA]ff[/AA]hh[BB]G G[/BB]TT[AA]66[/AA][BB]Dd[/BB]f""" val = re.sub(r'\[BB\](.*?)\[/BB\]', "", s) print val 结果如下: ddd[AA]ff[/AA]hh[BB]G G[/BB]TT[AA]66[/AA]f 我实际想要的是: ddd[AA]ff[/AA]hh TT[AA]66[/AA]f



不知道怎么实现?

 

你用空字符替换当然是啥都没有了,不是说了改用一个函数处理下,可能你没理解我说啥,再写一次代码给你吧...

Python code
import re def repl(m): return r2.sub('', m.group(0)) s ="""ddd[AA]ff[/AA]hh[BB]G G[/BB]TT[AA]66[/AA][BB]Dd[/BB]f""" r1 = re.compile(r'\[BB\](.*?)\[/BB\]', re.S) r2 = re.compile(r'\S') val = r1.sub(repl, s) print val

 

posted @ 2012-05-29 17:48  Semmin  阅读(444)  评论(0编辑  收藏  举报