我必须遵循以下文本:

Signatures 35 2 Table of Contents Part I. Financial Information Item 1. Financial
 Statements Noble Midstream Partners LP Consolidated Statements of Operations and    Comprehensive Income (in thousands except per unit amounts unaudited) Three   Months Ended March 31 2018 2017 Revenues Midstream Services - Affiliate 64263
 50314 Midstream Services -  Net Income Attributable
 to Limited Partners Per Limited Partner Unit - Basic and Diluted Common Units
 0.97 0.77 Subordinated Units 0.97 0.77 Weighted Average Limited Partner Units
 Outstanding - Basic Common Units 23683 15903 Subordinated Units 15903 15903
 Weighted Average Limited Partner Units Outstanding - Diluted Common Units 23698
 15909 Subordinated Units 15903 15903 The accompanying notes are an integral part
 of these financial statements. 3 Table of Contents Noble Midstream Partners LP
 758 The accompanying notes are an integral part of these financial statements.
 4 Table of Contents Noble Midstream Partners LP Consolidated Statements of Cash
 Flows (in thousands unaudited) Three Months Ended March 31 2018 2017 Cash Flows
 From Operating Activities Net Income 39136 34520 Adjustments to Reconcile Net
 Income to Net Cash Provided by Operating Activities Depreciation and
Amortization 11329 2449 Dividends from Equity Method Investee Net of Income 393 0
 Unit-Based Compensation 321 127 Other Adjustments for Noncash Items Included in
 Income 167 95 Changes in Operating Assets and Liabilities Net of Assets Acquired
 and Liabilities Assumed Increase in Accounts Receivable (2520) (3322) Decrease
in Accounts Payable (836) (2518) Other Operating Assets and Liabilities Net
 (2387) 874 Net Cash Provided by Operating Activities 45603 32225 Cash Flows
From Investing Activities Additions to Property Plant and Equipment (161509)
 (32298) Black Diamond Acquisition Net of Cash Acquired (650131) 0 Additions to
 Investments 0 (414) Distributions from Cost Method Investee 419 123 Net Cash
Used in Investing Activities (811221) (32589) Cash Flows From Financing
Activities Distributions to Noncontrolling Interests (3007) (11267) Contributions
 from Noncontrolling Interests 409865 7087 Borrowings Under Revolving Credit
Facility 405000 0 Repayment of Revolving Credit Facility (55000) 0 Distributions
 to Unitholders (19860) (13782) Revolving Credit Facility Amendment Fees and
Other (1987) (236) Net Cash Provided by (Used in) Financing Activities 735011
(18198) Decrease in Cash Cash Equivalents and Restricted Cash (30607) (18562)
 Cash Cash Equivalents and Restricted Cash at Beginning of Period 55531 57421
 Cash Cash Equivalents and Restricted Cash at End of Period 24924 38859 The
 accompanying notes are an integral part of these financial statements. 5 Table
 of Contents Noble Midstream Partners LP Consolidated Statement of Changes in
Equity (in thousands unaudited) Partnership Common Units Subordinated Units
General Partner Noncontrolling Interests


我需要提取单词Subordinated units之后的文本,并用四个数字跟随单词的组合,直到第一个Cash Flow。我构造了以下正则表达式:

CONSOLIDATED STATEMENTS? OF OPERATIONS?.+?\sSubordinated units.+?\s(\(?\d*[.]?(\d+)?\)?\s\(?\d*[.]?(\d+)?\)?\s\(?\d*[.]?(\d+)?\)?\s\(?\d*[.]?(\d+)?\)?)


此正则表达式不应找到任何匹配项,因为表达式Subordinated units后只有两个数字。但是,它设法匹配到具有三个数字的Noble Midstream Partners LP Consolidated Statements of Cash Flows (in thousands unaudited) Three Months Ended March 31 2018 2017的结尾,这是Cash Flow的第二次出现。我如何确保它只捕获到四个精确的数字并且不扩展到第二个Cash Flow

最佳答案

我认为此正则表达式可能会解决您的问题。搜索直到第一个Cash Flows

它使用(?s)修饰符让dot .匹配换行符。在这种情况下,将s视为字符串,而不是匹配行。

起初,我捕获了第二个Cash Flows,但是我注意到第一次出现在Cash and Flows之间。为了解决这个问题,我写了Cash\s+Flows,其中两个单词之间用空格分隔(可以是常规空格或换行符,也可以是空格)。

import re

fin = open('cash_flow.txt', 'r')

text = fin.read()

p = re.compile(r'(?s)(Consolidated Statements of Operations.+?Cash\s+Flows)')

m = p.search(text)

print(m.group(1))


我得到的打印结果是:

Consolidated Statements of Operations and    Comprehensive Income (in thousands except per unit amounts unaudited) Three   Months Ended March 31 2018 2017 Revenues Midstream Services - Affiliate 64263
 50314 Midstream Services - Third Party 11360 0 Crude Oil Sales - Third Party
 22110 0 Total Revenues 97733 50314 Costs and Expenses Cost of Crude Oil Sales
 21439 0 Direct Operating 17148 11401 Depreciation and Amortization 11329 2449
 General and Administrative 10442 2742 Total Operating Expenses 60358 16592
 Operating Income 37375 33722 Other (Income) Expense Interest Expense Net of
 Amount Capitalized 1033 267 Investment Income (2868) (1065) Total Other Income
 (1835) (798) Income Before Income Taxes 39210 34520 Income Tax Provision 74 0
 Net Income 39136 34520 Less: Net (Loss) Income Attributable to Noncontrolling
 Interests (225) 10178 Net Income Attributable to Noble Midstream Partners LP
 39361 24342 Less: Net Income Attributable to Incentive Distribution Rights 819 0
 Net Income Attributable to Limited Partners 38542 24342 Net Income Attributable
 to Limited Partners Per Limited Partner Unit - Basic and Diluted Common Units
 0.97 0.77 Subordinated Units 0.97 0.77 Weighted Average Limited Partner Units
 Outstanding - Basic Common Units 23683 15903 Subordinated Units 15903 15903
 Weighted Average Limited Partner Units Outstanding - Diluted Common Units 23698
 15909 Subordinated Units 15903 15903 The accompanying notes are an integral part
 of these financial statements. 3 Table of Contents Noble Midstream Partners LP
 758 The accompanying notes are an integral part of these financial statements.
 4 Table of Contents Noble Midstream Partners LP Consolidated Statements of Cash
 Flows

10-06 06:30