gpt4 book ai didi

python - 如何使 Python REGEX 匹配表达式的第一次出现 - 它现在扩展到第二个

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:55 25 4
gpt4 key购买 nike

我必须遵循以下文本:

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 之后的文本,其中有四个数字跟随这个单词组合,直到 first 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 合并现金流量表(以千为单位,未经审计)截至 2018 年 3 月 31 日 2017 年的三个月 的结尾,它有三个数字,并且是第二次出现 现金流。我如何确保它只捕获准确的四个数字并且不会扩展到第二个 Cash Flow

最佳答案

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

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

起初,我正在捕获第二个 Cash Flows,但我注意到第一个出现的地方在 CashFlows 之间有一个换行符>。为了纠正这个问题,我编写了 Cash\s+Flows,其中 2 个单词由 space 分隔(可以是常规空格 换行符这也是一个空格字符)。

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

关于python - 如何使 Python REGEX 匹配表达式的第一次出现 - 它现在扩展到第二个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57015168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com