func (e Match) Find(s []byte) (matches [1][]byte, pos int, ok bool) {
	var bt [319]stateMatch  
	matches, pos, ok = e.doByteSlice(s, modeFirstMatch, bt[:0])
	return
}
Find returns the first leftmost match.
package ipv6
import "regexp/syntax"
import "unicode/utf8"
import "strings"
import "reflect"
import "unsafe"
import "runtime"
import "github.com/CAFxX/bytespool"
const MatchRegexp = "(?:(?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(?::[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(?:ffff(?::0{1,4}){0,1}:){0,1}(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(?:[0-9a-fA-F]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"
var (
	_ = syntax.IsWordChar
	_ = strings.Index
)
type modeTypeMatch uint8
const (
	modeMatchMatch modeTypeMatch = iota
	modeFirstMatch
	modeLongestMatch
)
type Match struct{}
type stateMatch struct {
	c   [2]int
	i   int
	pc  int
	cnt int
}
func (e Match) FindString(r string) (matches [1]string, pos int, ok bool) {
	var bt [319]stateMatch  
	matches, pos, ok = e.doString(r, modeFirstMatch, bt[:0])
	return
}
func (e Match) FindLongestString(r string) (matches [1]string, pos int, ok bool) {
	var bt [319]stateMatch  
	matches, pos, ok = e.doString(r, modeLongestMatch, bt[:0])
	return
}