У меня есть файл с примерно таким содержимым:
SUBJECT COMPANY:
COMPANY DATA:
COMPANY CONFORMED NAME: MISCELLANEOUS SUBJECT CORP
CENTRAL INDEX KEY: 0000000000
STANDARD INDUSTRIAL CLASSIFICATION: []
IRS NUMBER: 123456789
STATE OF INCORPORATION: DE
FISCAL YEAR END: 1231
Затем в файле есть что-то вроде этого:
<REPORTING-OWNER>
COMPANY DATA:
COMPANY CONFORMED NAME: MISCELLANEOUS OWNER CORP
CENTRAL INDEX KEY: 0101010101
STANDARD INDUSTRIAL CLASSIFICATION: []
Что мне нужно сделать, так это зафиксировать имя, соответствующее компании, ключ центрального индекса, номер IRS, конец финансового года или что-то еще, что я хочу извлечь, но только в разделе тематической компании, а не в отчетах. раздел владельца. Эти строки могут быть в любом порядке или отсутствовать, но я хочу зафиксировать их значения, если они присутствуют.
Регулярное выражение, которое я пытался построить, выглядит так:
(?:COMPANY CONFORMED NAME:\s*(?'conformed_name'(?!(?:A|AN|THE)\b)[A-Z\-\/\\=|&!#$(){}:;,@`. ]+)|CENTRAL INDEX KEY:\s*(?'cik'\d{10})|IRS NUMBER:\s*(?'IRS_number'\w{2}-?\w{7,8})|FISCAL YEAR END:\s*(?'fiscal_year_end'(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1])))
Желаемые результаты будут следующими:
conformed_name = "MISCELLANEOUS SUBJECT CORP"
CIK = "000000000"
IRS_number = "123456789"
fiscal_year_end = "1231"
Для этого подходит любой вариант регулярного выражения, так как я адаптируюсь к тому, что лучше всего подходит для сценария. Спасибо, что прочитали о моем затруднительном положении и за любое руководство, которое вы можете предложить.