package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^(\d+(?:\.\d+)*)\s+(.+?)\s+(\d{1,3}(?:\.\d{3})*,\d{2})\s+(\d{1,3}(?:\.\d{3})*,\d{2})(?:\s+(\d{1,3}(?:\.\d{3})*,\d{2}(?:\s+[CD])?))?$`)
var str = `Random number Account number Account Name credit$ Debt$ Value of account
10 53 Another Financial Instruments 1.100,00 1.500,00 400,00 D
531 Café C/C (Taxes) 100,00 50,00 50,00 C
230 5321 Example 100,00 50,00 50,00 C
54 Example 2 300,00 500,00 200,00 D
Account number Account Name credit$ Debt$ Value of account
5.3 Another Financial Instruments 1.100,00 1.500,00 400,00
5.3.1 Café C/C (Taxes) 100,00 50,00 50,00
5.3.2.1 Example 100,00 50,00 50,00
5.4 Example 2 300,00 500,00 200,00
Account number Account Name credit$ Debt$
53 Another Financial Instruments 1.100,00 1.500,00
531 Café C/C (Taxes) 100,00 50,00
5321 Example 100,00 50,00
54 Example 2 300,00 500,00`
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/