我在这里有这个字符串:
*TACK F\u00d6R DIN BOKNING MED RYANAIR*****\r\n------------------------------\r\n\r\nV\u00e4nligen svara inte p\u00e5 detta e-postmeddelande.****\r\n------------------------------\r\n\r\nDITT BOKNINGSNUMMER \u00c4R:* A1A1A1*****\r\n\r\nF\u00d6R ATT F\u00c5 RESA M\u00c5STE DU CHECKA IN VIA INTERNET OCH P\u00c5 FLYGPLATSEN VISA UPP\r\nDITT INTERNETBOARDINGKORT OCH GILTIG ACCEPTERAD RESEHANDLING. PASSAGERARE\r\nSOM INTE VISAR UPP ETT BOARDINGKORT P\u00c5 FLYGPLATSEN KOMMER ATT BLI\r\nDEBITERADE EN STRAFFAVGIFT F\u00d6R NY-UTSKRIFT P\u00c5 EURO40/GBP40.(varje\r\nboardingkort m\u00e5ste vara utskrivet och presenteras p\u00e5 individuella A4-ark).**\r\n**\r\n\r\nDu kan checka in via Internet fr\u00e5n 15 dagar fram till 4 timmar innan\r\nflygets schemalagda avg\u00e5ng.****\r\n\r\nRESEPLAN/KVITTO \u2013 alla tider \u00e4r lokala.****\r\n\r\nUTRESA****\r\n\r\nFr\u00e5n Milano (Bergamo) (BGY) till Stockholm Skavsta (NYO)\r\nSat, 14Aug10 Flyg FR1944 Avg\u00e5ng BGY kl 21:00 och ankomst NYO kl 23:30****\r\n\r\nPASSAGERARE****\r\n\r\n
Run Code Online (Sandbox Code Playgroud)
而且,我需要在"UTRESA"和"PASSAGERARE"之间提取数据.所以我尝试了这个:
re.search(r'UTRESA (.+)PASSAGERARE',x)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它没有拉动数据!你能解释一下我为什么不提取数据,以及解决方案吗?谢谢 :)
匹配换行符时需要使用该DOTALL标志:
re.search(r'UTRESA(.+)PASSAGERARE', x, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
在UTRESA之后没有空间.
演示:
>>> re.search(r'UTRESA(.+)PASSAGERARE', x, re.DOTALL).groups()
('****\r\n\r\nFr\\u00e5n Milano (Bergamo) (BGY) till Stockholm Skavsta (NYO)\r\nSat, 14Aug10 Flyg FR1944 Avg\\u00e5ng BGY kl 21:00 och ankomst NYO kl 23:30****\r\n\r\n',)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |