From a732af55c7957ba620922c9f6bc131268673c420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E6=98=8E?= <83812544+Ed1s0nZ@users.noreply.github.com> Date: Mon, 3 Mar 2025 11:26:46 +0800 Subject: [PATCH] Update tools.go --- tools.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools.go b/tools.go index 6334534..1ea3c06 100644 --- a/tools.go +++ b/tools.go @@ -91,3 +91,27 @@ func TruncateString(s string) string { // 将截取的部分和省略号拼接起来 return fmt.Sprintf("%s...%s", string(start), string(end)) } + +// 扫描接口白名单、匹配相应包关键字 +func MatchString(keywords []string, str string) bool { + switch len(keywords) { + case 0: + return false + case 1: + return strings.Contains(str, keywords[0]) + default: + pattern := GeneratePattern(keywords) + matched, err := regexp.MatchString(pattern, str) + if err != nil { + panic(err) + } + return matched + } +} +func GeneratePattern(keywords []string) string { + var pattern strings.Builder + pattern.WriteString("(") + pattern.WriteString(strings.Join(keywords, "|")) + pattern.WriteString(")") + return pattern.String() +}