package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)[Ss][Ll][Nn]\s+\d+\s+[Gg][Rr][Pp]\s+\d+\s+[S][T][Y][P]\s+['][T][Z][']\s+[Ss][Nn][Oo]\s+\d+\s+`)
var str = `SLN 4 GRP 662 STYP 'TZ' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG 'PLA'
SLNB X1 -71629.6763 -89524.0401 34193.7197 X2 -70145.9264 -91487.9275 34193.7197
SLN 6 GRP 662 STYP 'TZ' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG 'PLA'
SLNB X1 -68645.9265 -89524.0401 34193.7197 X2 -67145.9265 -91487.9275 34193.7197
SLN 8 GRP 662 STYP 'TZ' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG 'PLA'
SLNB X1 -65780.9266 -89524.0401 34193.7197 X2 -64280.9267 -91487.9275 34193.7197
SLN 10 GRP 662 STYP 'TZ' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG 'PLA'
SLNB X1 -62780.9267 -89524.0401 34193.7197 X2 -61280.9268 -91487.9275 34193.7197
SLN 12 GRP 662 STYP 'TZ' SNO 1037 DRX 3.41018E-15 2.25685E-15 -1 XFLG 'PLA'
SLNB X1 -74597.1762 -89524.0401 34193.7197 X2 -76080.9261 -91487.9275 34193.7197
SLN 15 GRP 662 STYP 'TZ' SNO 1037 DRX -0.218907 0.519243 -0.826115 XFLG 'PLA'
SLNB X1 -71629.6763 -95007.3548 31588.4632 X2 -73113.4262 -91487.9275 34193.7197
SLN 16 GRP 662 STYP 'TZ' SNO 1037 DRX 0.218907 0.519243 -0.826115 XFLG 'PLA'
SLNB X1 -70145.9264 -91487.9275 34193.7197 X2 -71629.6763 -95007.3548 31588.4632
SLN 17 GRP 662 STYP 'TZ' SNO 1037 DRX -0.215802 0.515972 -0.828976 XFLG 'PLA'
SLNB X1 -68645.9265 -95074.3499 31570.9694 X2 -70145.9264 -91487.9275 34193.7197
SLN 18 GRP 662 STYP 'TZ' SNO 1037 DRX 0.215802 0.515972 -0.828976 XFLG 'PLA'
SL`
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/