123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package model
- import (
- "fmt"
- "regexp"
- "strings"
- "go-common/app/service/main/antispam/util"
- )
- const (
- // OperationLimit .
- OperationLimit = "limit"
- // OperationRestrictLimit .
- OperationRestrictLimit = "restrict"
- // OperationPutToWhiteList .
- OperationPutToWhiteList = "white"
- // OperationIgnore .
- OperationIgnore = "ignore"
- )
- // Regexp .
- type Regexp struct {
- ID int64 `json:"id"`
- Area string `json:"area"`
- AdminID int64 `json:"admin_id"`
- AdminName string `json:"-"`
- Reg *regexp.Regexp `json:"-"`
- Name string `json:"name"`
- Operation string `json:"op"`
- Content string `json:"content"`
- State string `json:"state"`
- CTime util.JSONTime `json:"-"`
- MTime util.JSONTime `json:"mtime"`
- }
- // FindString .
- func (r *Regexp) FindString(content string) string {
- if hits := r.Reg.FindStringSubmatch(content); len(hits) >= 2 {
- return strings.TrimSpace(hits[1])
- }
- return ""
- }
- func (r *Regexp) String() string {
- return fmt.Sprintf("name:%s, operation:%s, regexp:%s\n",
- r.Name, r.Operation, r.Content)
- }
|