26 lines
582 B
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]
|
|
}
|