diff --git a/kernel/model/virutalref.go b/kernel/model/virutalref.go index 88f7319b3..67a899028 100644 --- a/kernel/model/virutalref.go +++ b/kernel/model/virutalref.go @@ -252,12 +252,16 @@ func getVirtualRefKeywords(root *ast.Node) (ret []string) { if 0 < len(regexps) { tmp = nil for _, str := range ret { + matchExclude := false for _, re := range regexps { - if ok, regErr := regexp.MatchString(re, str); !ok && nil == regErr { - tmp = append(tmp, str) + if ok, _ := regexp.MatchString(re, str); ok { + matchExclude = true break } } + if !matchExclude { + tmp = append(tmp, str) + } } ret = tmp }