擅长:python、mysql、java
<p>你可以把行号储存在手边,然后再找。</p>
<pre><code>import re
string="""
####1
ttteest
####1
ttttteeeestt
####2
ttest
####2
"""
end='.*\n'
line=[]
for m in re.finditer(end, string):
line.append(m.end())
pattern = '.*?####(.*?)####'
match=re.compile(pattern, re.MULTILINE|re.DOTALL)
for m in re.finditer(match, string):
print 'lineno :%d, %s' %(next(i for i in range(len(line)) if line[i]>m.start(1)), m.group(1))
</code></pre>