首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 15:18:32 +08:00
commit d6393266b0
193 changed files with 14287 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
package main
import (
"fmt"
"regexp"
"unicode"
)
// checkDigitSuffix 等价原 \d+(?!\D+$)
// 入参:完整字符串、一段数字的结束下标
// 返回:true = 符合条件(数字后面不全是字母)
func checkDigitSuffix(s string, digitEnd int) bool {
// 数字后面无任何字符,直接不符合
if digitEnd >= len(s) {
return false
}
after := s[digitEnd:]
// 遍历数字之后所有字符
allLetter := true
for _, r := range after {
// 判断是否大小写字母
if !unicode.IsLetter(r) {
allLetter = false
break
}
}
// 不全是字母 → 返回true匹配
return !allLetter
}
func main() {
pwdList := []string{"abc123", "123abc", "abcdef", "x99!yy", "789#"}
digitRe := regexp.MustCompile(`\d+`)
fmt.Println("密码\t匹配结果")
fmt.Println("----------------")
for _, pwd := range pwdList {
// 找出所有数字段
allDigitIdx := digitRe.FindAllStringIndex(pwd, -1)
matchFlag := false
for _, idx := range allDigitIdx {
endPos := idx[1]
if checkDigitSuffix(pwd, endPos) {
matchFlag = true
break
}
}
fmt.Printf("%s\t%t\n", pwd, matchFlag)
}
}