package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?i)^([0-9-]+)T([0-9:]+)-([0-9:]+) ([a-z0-9]+) ([a-z0-9]+)\[([0-9]+)\]: client ([0-9a-f.:]+)#([0-9]+) \((.*?)\): query: (.*?) ([a-z]+) ([a-z0-9]+) ([-+])([a-z]+)* \((.*?)\)`)
var str = `
2017-11-30T06:25:53-07:00 epperson1 named[8294]: client 66.249.66.83#38327 (utahdwr.groups.et.byu.net): query: utahdwr.groups.et.byu.net IN A - (128.187.223.235)
2017-11-30T06:25:52-07:00 epperson1 named[8294]: client 208.67.217.73#44043 (18.21.187.128.in-addr.arpa): query: 18.21.187.128.in-addr.arpa IN PTR -E (128.187.223.235)
2017-11-30T06:25:52-07:00 epperson1 named[8294]: client 208.67.217.73#44043 (18.21.187.128.in-addr.arpa): query: 18.21.187.128.in-addr.arpa IN PTR -E (128.187.223.235)
2017-11-30T06:26:09-07:00 epperson1 named[8294]: client 76.96.15.65#9272 (db._dns-sd._udp.byu.edu): query: db._dns-sd._udp.byu.edu IN PTR -ED (128.187.223.235)
2017-11-30T06:26:23-07:00 epperson1 named[8294]: client 10.2.119.109#60848 (www.mers.byu.edu): query: www.mers.byu.edu IN A + (128.187.223.235)
2017-11-30T06:26:59-07:00 epperson1 named[8294]: client 128.187.56.171#19775 (LAB.MERS.BYU.EDU\032MERS.BYU.EDU): query: LAB.MERS.BYU.EDU\032MERS.BYU.EDU IN SOA -EDC (128.187.223.235)
2017-11-30T06:41:52-07:00 epperson1 named[8294]: client 209.88.21.70#53 (edns1.byu.edu): query: edns1.byu.edu IN A6 -E (128.187.223.235)
2017-11-30T07:16:59-07:00 hendry1 named[16431]: client 74.125.186.65#61690 (*.byu.edu): query: *.byu.edu IN A -ED (128.187.223.243)
2017-11-30T09:11:02-07:00 epperson1 named[8294]: client 69.252.200.1#45456 (%24refferer.app.byu.edu): query: %24refferer.app.byu.edu IN A -ED (128.187.223.235)
2017-11-30T10:13:27-07:00 hendry1 named[16431]: client 135.19.0.19#2470 (gw13.byu.edu,gw9.byu.edu,gw12.byu.edu,gw10.byu.edu,gw11.byu.edu): query: gw13.byu.edu,gw9.byu.edu,gw12.byu.edu,gw10.byu.edu,gw11.byu.edu IN A -ED (128.187.223.243)
2019-01-08T06:27:18-07:00 epperson1 named[10227]: client 2620:8b:c000:4:198:97:62:197#9237 (20.112.187.128.in-addr.arpa): query: 20.112.187.128.in-addr.arpa IN PTR -EDC (2620:10f:3007:fb04::eb)
2019-01-08T06:27:18-07:00 epperson1 named[10227]: client completejiberish#9237 (20.112.187.128.in-addr.arpa): query: 20.112.187.128.in-addr.arpa IN PTR -EDC (completejibbersh)
`
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/