Форум сайта python.su
по правильному там не должно быть столько переводов строк, поэтому так:
# coding: utf8
import re
text = '''--SBD.Boundary.605592468
Content-Type: application/x-zip-compressed; name="SBMmessage.sbd"
Content-Disposition: attachment; filename="300224010715200_001453.sbd"
Content-Transfer-Encoding: base64
MjAwOS0xIC0xNCAyIDo1OAlMRU5HCS0zLjIgIAk5OSAgCTk0Ny40ICAJOTQ3LjYgIAk5ODMuMCAg
CTEuNCAgICAJMyAgICAgCTkuNCAgIAkxNDEgIAkxMy41NTIJDQoNCg==
--SBD.Boundary.605592468--'''
g = re.match('.*?\n\n(.*)--SBD', text, re.DOTALL)
if g:
print g.groups(0)[0].decode('base64')
Офлайн
o7412369815963Спасибо, то что нужно!
по правильному там не должно быть столько переводов строк, поэтому так:# coding: utf8
import re
text = '''--SBD.Boundary.605592468
Content-Type: application/x-zip-compressed; name="SBMmessage.sbd"
Content-Disposition: attachment; filename="300224010715200_001453.sbd"
Content-Transfer-Encoding: base64
MjAwOS0xIC0xNCAyIDo1OAlMRU5HCS0zLjIgIAk5OSAgCTk0Ny40ICAJOTQ3LjYgIAk5ODMuMCAg
CTEuNCAgICAJMyAgICAgCTkuNCAgIAkxNDEgIAkxMy41NTIJDQoNCg==
--SBD.Boundary.605592468--'''
g = re.match('.*?\n\n(.*)--SBD', text, re.DOTALL)
if g:
print g.groups(0)[0].decode('base64')
Офлайн
o7412369815963А как найти допустим второе вхождение этого текста?
SBM Message
--SBD.Boundary.605592468
Content-Type: text/plain;charset=US-ASCII
Content-Disposition: inline; Content-Transfer-Encoding: 7bit
MOMSN: 1453
MTMSN: 0
Time of Session (UTC): Wed Jan 14 06:07:02 2009
Session Status: 00 - Transfer OK
Message Size (bytes): 97
Unit Location: Lat = -69.540903 Long = 159.359961
CEPradius = 8
--SBD.Boundary.605592468
Content-Type: application/x-zip-compressed; name="SBMmessage.sbd"
Content-Disposition: attachment; filename="300224010715200_001453.sbd"
Content-Transfer-Encoding: base64
MjAwOS0xIC0xNCAyIDo1OAlMRU5HCS0zLjIgIAk5OSAgCTk0Ny40ICAJOTQ3LjYgIAk5ODMuMCAg
CTEuNCAgICAJMyAgICAgCTkuNCAgIAkxNDEgIAkxMy41NTIJDQoNCg==
--SBD.Boundary.605592468--
Отредактировано (Май 12, 2010 17:23:03)
Офлайн
регепс поправить…, или сделать text.split('\n\n').
какой именно кусок текста нужен? про написание регепса можешь глянуть тут
Офлайн
o7412369815963Спасибо.
регепс поправить…, или сделать text.split('\n\n').
какой именно кусок текста нужен? про написание регепса можешь глянуть тут
MjAwOS0xIC0xNCAyIDo1OAlMRU5HCS0zLjIgIAk5OSAgCTk0Ny40ICAJOTQ3LjYgIAk5ODMuMCAg
CTEuNCAgICAJMyAgICAgCTkuNCAgIAkxNDEgIAkxMy41NTIJDQoNCg==
Офлайн
Наверное вот так:
g = re.match('.*?base64\n\n(.*)--SBD', text, re.DOTALL)
Офлайн
XdenisXнаверно
Наверное вот так:g = re.match('.*?base64\n\n(.*)--SBD', text, re.DOTALL)
Офлайн
o7412369815963Да, все отрабатывает как надо. Спасибо большое за статью, сразу пришло понимание написанного :)XdenisXнаверно
Наверное вот так:g = re.match('.*?base64\n\n(.*)--SBD', text, re.DOTALL)
Офлайн