package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`^\[[a-z-]*\]\s[\w\d\s\-\=\"\.\:\@]+`)
var str = `[access-control]
realm-id = "name2"
description = "Register_to_Bryansk_RTU"
source-address = "0.0.0.0"
destination-address = "0.0.0.0:5060"
application-protocol = "SIP"
transport-protocol = "ALL"
[access-control]
access = "permit"
average-rate-limit = "0"
trust-level = "high"
minimum-reserved-bandwidth = "0"
invalid-signal-threshold = "0"
maximum-signal-threshold = "0"
[access-control]
untrusted-signal-threshold = "0"
nat-trust-threshold = "0"
max-endpoints-per-nat = "0"
nat-invalid-message-threshold = "0"
deny-period = "30"
cac-failure-threshold = "0"
untrust-cac-failure-threshold = "0"
[access-control]
last-modified-by = "admin@0.0.0.0"
last-modified-date = "2015-01-22 09:01:19"
[access-control]
realm-id = "name"
description = ""
source-address = "0.0.0.0"
destination-address = "0.0.0.0:5060"
application-protocol = "SIP"
transport-protocol = "ALL"
access = "permit"
average-rate-limit = "0"
trust-level = "high"
minimum-reserved-bandwidth = "0"
invalid-signal-threshold = "0"
maximum-signal-threshold = "0"
untrusted-signal-threshold = "0"
nat-trust-threshold = "0"
max-endpoints-per-nat = "0"
nat-invalid-message-threshold = "0"
deny-period = "30"
cac-failure-threshold = "0"
untrust-cac-failure-threshold = "0"
last-modified-by = "admin@0.0.0.0"
last-modified-date = "2014-10-23 11:26:39"`
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/