package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)[a-zA-Z]+[\s\,\-\&]*\(*(?!\d)[a-zA-Z\€\$]*\)*\s?`)
var str = `I. CASH FLOW FROM OPERATING ACTIVITIES
Profit attributable to owners of the parent 1,908 4,790
Depreciation, amortization, impairment and provisions (1) 927 1,080
Share in profit (loss) from equity-accounted companies (net of dividends received) 13 (63) (110)
Change in fair value of currency and commodity derivatives (2) 26 81 (3,608)
Capital gains and losses on asset disposals (3) (364) (20)
Profit (loss) from discontinued operations and disposal gain (before tax) (110) (990)
Profit attributable to non-controlling interests 55 62
Other (4) 217 1,206
Cash flow from operations, before change in working capital 2,651 2,410
Change in inventories and work-in-progress 14 (347) (308)
Change in operating receivables and payables (5) 15, 23, 26 219 561
Change in other receivables and payables 15, 23 (40) 63
Change in working capital (168) 316
TOTAL I (6) 2,483 2,726
II. CASH FLOW USED IN INVESTING ACTIVITIES
Capitalization of R&D expenditure (7) 10 (364) (286)
Payments for the purchase of intangible assets, net of proceeds (8) (324) (262)
Payments for the purchase of property, plant and equipment, net of proceeds (9) (704) (740)
Payments arising from the acquisition of investments or businesses, net (810) (54)
Proceeds arising from the sale of investments or businesses, net 2 3,060
Proceeds (payments) arising from the sale (acquisition) of investments and loans (10) 5 (1,974)
TOTAL II (2,195) (256)
III. CASH FLOW FROM (USED IN) FINANCING ACTIVITIES
Change in share capital – owners of the parent - -
Change in share capital – non-controlling interests (9) (4)
Acquisitions and disposals of treasury shares 18.b (38) (449)
Repayment of borrowings and long-term debt 22 (73) (66)
Increase in borrowings 22 682 1,058
Change in repayable advances 21 (24) (25)
Change in short-term borrowings 22 10 449
Dividends and interim dividends paid to owners of the parent 18.e (612) (340)
Dividends paid to non-controlling interests (30) (32)
TOTAL III (94) 591
CASH FLOW FROM OPERATING ACTIVITIES OF DISCONTINUED OPERATIONS TOTAL IV 171 14
CASH FLOW USED IN INVESTING ACTIVITIES OF DISCONTINUED OPERATIONS TOTAL V (111) (52)
CASH FLOW USED IN FINANCING ACTIVITIES OF DISCONTINUED OPERATIONS TOTAL VI (8) (198)
EFFECT OF CHANGES IN FOREIGN EXCHANGE RATES TOTAL VII 15 (17)
NET INCREASE IN CASH AND CASH EQUIVALENTS I+II+III+IV+V+VI+VII 261 2,808
Cash and cash equivalents at beginning of period 1,659 1,926
Cash and cash equivalents of discontinued operations at beginning of period 186 180
Cash and cash equivalents at end of period 16 1,926 4,914
Cash and cash equivalents of discontinued operations at end of period 180 -
NET INCREASE IN CASH AND CASH EQUIVALENTS 261 2,808`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/