我從具有感興趣的信息的文件中提取記錄超過三行或更多行。信息是按順序排列的,它遵循一個合理的模式,但是 之間可以有一些樣板文字。Python中的正則表達式在多行中查看模式
由於這是從PDF轉換而來的文本文件,所以也可能存在頁碼或其他一些簡單的控制元素。
模式包括: 起跑線:後面兩個日期姓氏和用逗號分隔的名字,沒有別的
下一行有兩個長數(> = 7位數)
感興趣最後一行有後跟的日期
的利益格局被標記爲BOLD)4位數字:
LAST NAME ,FIRST NAME ... nothing or possibly some junk text 999999999 9999999 MM/DD/YY MM/DD/YY junk text ... nothing or possibly some junk text 9999 MM/DD/YY junk I dont care
我的目標默認文本看起來像:
SOME IRRELEVANT TEXT DOE ,JOHN 200000002 100000070 04/04/13 12/12/12 XYZ IJK ABC SOMETHING SOMETHING 0999 12/22/12 0 1 0 SOMETHING ELSE MORE OF SOMETHING ELSE
,但有可能會遇到之間,它看起來像什麼:
SOME IRRELEVANT TEXT DOE ,JOHN Page 13 Header 200000002 100000070 04/04/13 12/12/12 XYZ IJK ABC SOMETHING SOMETHING 0999 12/22/12 0 1 0 SOMETHING ELSE MORE OF SOMETHING ELSE
我不真的需要在這裏多驗證,所以我抓住三條線有以下正則表達式。
因爲我知道,這種格局將發生作爲一個子字符串,但可能插入
到目前爲止,我一直在追趕與以下三個REG這些元素。表情:
(([A-Z]+\s+)+,[A-Z]+)
(\d{7,}\s+\d{7,}\s+(\d{2}/\d{2}/\d{2}\s+){2})
(\d{4}\s+\d{2}/\d{2}/\d{2})
,但我想提取所關注整個數據。
這是可能的,如果是這樣,如何?
http://docs.python.org/2/library/re.html#re.MULTILINE – Elazar
[Hmmmmm](http://regex101.com/r/sI1oL7)? – HamZa
爲什麼不連接所有文本在一行? – Pablo