package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)(?:(?:[\s\,\>]+|\b)(?:(?:(Passport|PASSI-PASS|PASSI|PASS|PASSEPORT|passaporto)\s*(?:Number|No\.*|#|ID)*))(?:[\s\,\<\.]+|\b))((?:[\s\,\>]+|\b)(?:[A-Za-z]{2}[0-9]{7})(?:[\s\,\<\.]+|\b))
|(?:[\s\,\>]+|\b)((?:[A-Za-z]{2}[0-9]{7})(?:[\s\,\<\.]+|\b))(?:(?:[\s\,\>]+|\b)(?:(?:(Passport|PASSI-PASS|PASSI|PASS|PASSEPORT|passaporto)\s*(?:Number|No\.*|#|ID)*))(?:[\s\,\<\.]+|\b))`)
var str = `er3442156 ddaf
df8998098 dfada
JH6752034 passport
passaporto YU7845329
`
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/