1
0
mirror of https://github.com/zu1k/nali.git synced 2025-01-22 13:19:02 +08:00
nali/pkg/re/re.go
Yangyu Chen 8c17abbd66
feat: Handle NAT64 address query (#200)
We can query the NAT64 address by the IPv4 address part of the NAT64
address. This is useful when we want to know the NAT64 address of a
specific IPv4 address. We also add a new regex pattern to match the
NAT64 address like 64:ff9b::1.1.1.1 .

Signed-off-by: Yangyu Chen <cyy@cyyself.name>
2024-12-30 14:04:06 +08:00

18 lines
727 B
Go

package re
import (
"regexp"
"strings"
)
var (
DomainRe = regexp.MustCompile(`([a-zA-Z0-9][-a-zA-Z0-9]{0,62}\.)+([a-zA-Z][-a-zA-Z]{0,62})`)
IPv4Re = regexp.MustCompile(`(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}`)
IPv6Re = regexp.MustCompile(`fe80:(:[0-9a-fA-F]{1,4}){0,4}(%\w+)?|([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|64:ff9b::(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::[fF]{4}:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|(([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::(([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?`)
)
func MaybeRegexp(s string) bool {
return strings.ContainsAny(s, "[]{}()?")
}