service/library/regexpcli/client.go

26 lines
582 B
Go

package regexpcli
import (
"service/api/consts"
"github.com/dlclark/regexp2"
)
var defaultRegexpClient *Client
type Client struct {
regexpMap map[string]*regexp2.Regexp
}
func Init() {
defaultRegexpClient = new(Client)
defaultRegexpClient.regexpMap = make(map[string]*regexp2.Regexp)
defaultRegexpClient.regexpMap[consts.AppHyperlinkRegexp] = regexp2.MustCompile(`\[(.*?)\]`, 0)
defaultRegexpClient.regexpMap[consts.H5HyperlinkRegexp] = regexp2.MustCompile(`(\?|&)(.*?)=`, 0)
}
func GetRegexp(str string) *regexp2.Regexp {
return defaultRegexpClient.regexpMap[str]
}