package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)(?:^|\n)\s*Name\s*(?<name>[\w\W]+?)\s+Address\n(?<address>[\w\W]+?)\s+Date of Birth\s+(?<dob>[\w\W]+?)\s+Nationality\s*(?<nationality>[\w\W]+?)(?=\s)`)
var str = `Name
Christopher Robert York
Address
Lyric House 6b St Andrew Street
Hertford
Hertfordshire
SG14 1JA
Date of Birth
24/12/1961
Nationality
British
Directorships for Mr Christopher Robert York
Company Number Name Status Position Appointed Date Credit Limit Risk Score
12432488 �� CASTLE LEGAL SERVICES LTD Non trading Director 29/01/2020 £0 0
03075887 �� CREDITSERVE LTD. Company is dissolved Company Secretary 31/07/2006 £0 0
03075887 �� CREDITSERVE LTD. Company is dissolved Director 04/07/1995 £0 0
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Company Secretary 29/09/2008 £7,500 55
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Director 13/03/2008 £7,500 55
Ms Laura York
Name
Laura York
Address
Lyric House 6b St Andrew Street
Hertford
Hertfordshire
SG14 1JA
Date of Birth
01/06/1964
Nationality
British
Directorships for Ms Laura York
Company Number Name Status Position Appointed Date Credit Limit Risk Score
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Director 01/04/2011 £7,500 55
Company Secretary`
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/