python 截取一段字符串中想要得内容

ITrookie-god 2017-05-11 04:07:31
dis
#
a
b
c
#
asd
#
asde
as
#
return'''

怎么去获取两个#号之间得内容了,内容为:
#
需要获取得内容
#
asd
#
需要获取得内容
#

当我使用tmp = re.findall(r'#\n(.*\n)+?#\n',a)贪婪匹配时,只能获取到以下内容:
[' c\n', 'as\n']
不适用贪婪匹配得话,tmp = re.findall(r'#\n(.*\n)+#\n',a),获取结果如下:
['as\n']

求问,怎么获取到正确得结果,谢谢。
...全文
1142 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITrookie-god 2017-05-11
  • 打赏
  • 举报
回复
忘记要把贪婪匹配放在里面才行,tmp = re.findall(r'#\n((.*\n)+?)#\n',a) 这样子得结果如下:tmp[0][0]就是想要得结果。 [(' a\n b\n c\n', ' c\n'), ('asde\nas\n', 'as\n')] 如果更简单得话,可以用\s\S来代替,tmp = re.findall(r'#\n([\s\S]+?)#\n',a),结果如下: [' a\n b\n c\n', 'asde\nas\n']
sanGuo_uu 2017-05-11
  • 打赏
  • 举报
回复
这个能满足么?
# -*- coding:utf-8 -*-

import re

txt="""
#
    a
    b
    c
#
asd
#
asde
as
#
"""

patt=re.compile(r'#(.*?)#',re.S)
zzr=patt.findall(txt)

print zzr

37,717

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧