专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Perl/Python

re.sub如何做到替换多行

发布时间:2011-06-29 20:11:17 文章来源:www.iduyao.cn 采编人员:星星草
re.sub怎么做到替换多行?
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



不知道怎么实现?


------解决方案--------------------
先将字符串用split("\n")然后再[:]可否。。
------解决方案--------------------
re.sub(pattern, repl, string[, count, flags]) 
默认.不能匹配换行,所以要设置flags=re.S,要保留回车空白等,弄个合适的函数当repl参数:
Python code
import re
    
def repl(m):
    return re.sub(r'\S', '', m.group(0))
    
s = """ddd[AA]ff[/AA]hh[BB]G
    G[/BB]TT[AA]66[/AA][BB]Dd[/BB]f"""

val = re.sub(r'\[BB\](.*?)\[/BB\]', repl, s, flags=re.S)
print val
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: