diff --git a/pkg/iplibrary/template.go b/pkg/iplibrary/template.go index 76b3eec..e6ab7d5 100644 --- a/pkg/iplibrary/template.go +++ b/pkg/iplibrary/template.go @@ -38,7 +38,7 @@ func (this *Template) init() error { return keyword }) - reg, err := regexp.Compile(template) + reg, err := regexp.Compile("^(?U)" + template) if err != nil { return err } diff --git a/pkg/iplibrary/template_test.go b/pkg/iplibrary/template_test.go index 61212c1..b4762a4 100644 --- a/pkg/iplibrary/template_test.go +++ b/pkg/iplibrary/template_test.go @@ -23,3 +23,16 @@ func TestNewTemplate(t *testing.T) { t.Log(s, "=>\n", values) } } + +func TestNewTemplate2(t *testing.T) { + template, err := iplibrary.NewTemplate("${any},${any},${ipFrom},${ipTo},${country},${province},${city},${town},${provider},${any},${any}") + if err != nil { + t.Fatal(err) + } + for _, s := range []string{ + "22723584,22723839,1.90.188.0,1.90.188.255,中国,北京,北京,房山,歌华有线,102400,010,城域网", + } { + values, _ := template.Extract(s, []string{}) + t.Log(s, "=>\n", values) + } +}