package main import ( "fmt" "github.com/dlclark/regexp2" "regexp" ) func main() { //reg := regexp.MustCompile(`([a-z]|[A-Z]|[0-9]){7}`) // //a := reg.FindAll([]byte("1111111"),-1) //b:=reg.FindAll([]byte("2365125489"),-1) //c:=reg.Find([]byte("dvxd001")) // // //if len(a)!=0 { // fmt.Println("1",a,len(a)) //} //if len(b)!=0 { // fmt.Println("2",b,len(b)) //} //if len(c)!=0 { // fmt.Println("3",string(c),len(c)) //} test4() } func test() { order := "q0" //expr := `^(?![0-9a-zA-Z]+$(?![a-zA-Z_]+$)(?![0-9_]+$)` expr := "(?=.*?[a-zA-Z])(?=.*?[0-9])(?=.*?[_])" //expr :="(?=.*?[a-zA-Z])" //expr := `^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$` reg, _ := regexp2.Compile(expr, 0) match, err := reg.FindStringMatch(order) if err != nil { fmt.Println(err.Error()) } else { fmt.Println(match.Name) } } func test2() { order := "A_0" reg := regexp.MustCompile(`^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$`) fmt.Printf("%q\n", reg.FindAllString(order, -1)) } func test3() { order := "Afa_sd" ok, err := regexp.MatchString("([A-Za-z])+", order) if !ok || err != nil { fmt.Println("zzzz") } ok, err = regexp.MatchString("([0-9])+", order) if !ok || err != nil { fmt.Println("0000") } ok, err = regexp.MatchString("([_])+", order) if !ok || err != nil { fmt.Println("___") } } func test4() { url := "/accounts/history" matched, err := regexp.MatchString("/account|/nft|/tx", url) if err != nil { fmt.Print(err.Error()) } fmt.Println(matched) matched2, err := regexp.MatchString("/accounts/history|/nft/batch|/tx/queue/info", url) if err != nil { fmt.Print(err.Error()) } fmt.Println(matched2) fmt.Println(!matched || matched2) }