我有一個使用正則表達式從文本文件中提取數據的問題。我有以下格式的文本文件:使用Perl從文本文件中提取文本
REPORTING-OWNER:
OWNER DATA:
COMPANY CONFORMED NAME: DOE JOHN
CENTRAL INDEX KEY: 99999999999
FILING VALUES:
FORM TYPE: 4
SEC ACT: 1934 Act
SEC FILE NUMBER: 811-00248
FILM NUMBER: 11530052
MAIL ADDRESS:
STREET 1: 7 ST PAUL STREET
STREET 2: STE 1140
CITY: BALTIMORE
STATE: MD
ZIP: 21202
ISSUER:
COMPANY DATA:
COMPANY CONFORMED NAME: ACME INC
CENTRAL INDEX KEY: 0000002230
IRS NUMBER: 134912740
STATE OF INCORPORATION: MD
FISCAL YEAR END: 1231
BUSINESS ADDRESS:
STREET 1: SEVEN ST PAUL ST STE 1140
CITY: BALTIMORE
STATE: MD
ZIP: 21202
BUSINESS PHONE: 4107525900
MAIL ADDRESS:
STREET 1: 7 ST PAUL STREET SUITE 1140
CITY: BALTIMORE
STATE: MD
ZIP: 21202
我要救所有者的名稱(李四)和標識符(99999999999)和公司的名稱(ACME公司)和identfier(0000002230)作爲獨立變量。但是,如您所見,變量名稱(CENTRAL INDEX KEY和COMPANY CONFORMED NAME)對於兩條信息都完全相同。
我已經使用下面的代碼來提取所有者的信息,但我無法弄清楚如何提取公司的數據。 (注意:我把整個文本文件讀入$ data)。
if($data=~m/^\s*CENTRAL\s*INDEX\s*KEY:\s*(\d*)/m){$cik=$1;}
if($data=~m/^\s*COMPANY\s*CONFORMED\s*NAME:\s*(.*$)/m){$name=$1;}
任何想法如何我可以爲業主和公司提取信息?
謝謝!
感謝大家的意見。我試着運行YAML代碼,它告訴我,我有不一致的縮進...顯然,我需要回去檢查並確保我的文件格式正確。 – TaterTots 2013-02-13 23:13:04