funcmain(){reg:=`^((?=.*\d)|(?=.*[\\\^\$\.\*\+\?\{\}\(\)\[\]\|]+))(?=.*[a-z])(?=.*[A-Z]).{6, 14}$`matchString,err:=regexp.MatchString(reg,"123456")iferr!=nil{log.Println("err is ",err)}log.Println("Res is ",matchString)}
报错如下
1
2020/09/15 21:51:46 err is error parsing regexp: invalid or unsupported Perl syntax: `(?=`
funcVerifyPasswordRule(strstring,minLen,maxLenint)error{var(isUpper=falseisLower=falseisNumber=falseisSpecial=false)iflen(str)<minLen||len(str)>maxLen{returnerrors.New("The password must contain uppercase and lowercase letters, numbers or punctuation, and must be 6-14 digits long. ")}for_,s:=rangestr{switch{caseunicode.IsUpper(s):isUpper=truecaseunicode.IsLower(s):isLower=truecaseunicode.IsNumber(s):isNumber=truecaseunicode.IsPunct(s)||unicode.IsSymbol(s):isSpecial=truedefault:}}if(isUpper&&isLower)&&(isNumber||isSpecial){returnnil}returnerrors.New("The password must contain uppercase and lowercase letters, numbers or punctuation, and must be 6-14 digits long. ")}