package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?:opc.tcp|https|http):\/\/(\S+):\d+[\/\w]*`)
var str = `https://198.10.157.14:4814/fdggfh/fdhgdsf/gnhdfg
opc.tcp://198.10.157.14:4814/fdggfh/fdhgdsf/gnhdfg
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
=[\w\W]*(auto[\w\W]*eth2\s+inet\s+(dhcp|static)\s*((?:address\s+\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(?:netmask\s+\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(?:gateway\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})))?)
auto eth2
iface eth2 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
pre-up /sbin/ifconfig $IFACE mtu 1450
auto eth3
iface eth3 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
= ([\d\.]+)(\w?)\s+\d+%.*
/dev/sda1 ff 55 7sg233 fgd 3.7G 4.0K 3.7G 0% /mnt/sda1
<?xml version="1.0" encoding= "utf-8"?>
<confi guration>
[\w\W]*(auto[\w\W]*eth2\s+inet\s+(dhcp|static)\s+((?:address\s+\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})?\s*(?:netmask\s+\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})?\s*(?:gateway\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))?)?\s+(pre-up \/sbin\/ifconfig \$IFACE mtu \d{3,4}\s+))`
if len(re.FindStringIndex(str)) > 0 {
fmt.Println(re.FindString(str),"found at index",re.FindStringIndex(str)[0])
}
}
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/