Fix placeholder parsing
This commit is contained in:
parent
ccd9a5fbc1
commit
bfe53a2461
2 changed files with 4 additions and 3 deletions
|
|
@ -51,7 +51,7 @@ type replacer struct {
|
|||
func New() Replacer {
|
||||
r := &replacer{
|
||||
templates: make(map[string]template),
|
||||
re: regexp.MustCompile(`{([a-z:]+)(?:\^(.))?(?:,(.*?))?}`),
|
||||
re: regexp.MustCompile(`{([a-z]+(?::[0-9A-Za-z]+)?)(?:\^(.))?(?:,(.*?))?}`),
|
||||
templateRe: regexp.MustCompile(`{([a-z:]+)}`),
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -138,7 +138,8 @@ func TestReplaceGlob(t *testing.T) {
|
|||
r := New()
|
||||
r.RegisterTemplate("foo:bar", "Hello foobar", nil)
|
||||
r.RegisterTemplate("foo:baz", "Hello foobaz", nil)
|
||||
r.RegisterTemplate("foo:123", "Hello 456", nil)
|
||||
|
||||
replaced := r.Replace("{foo:baz}, {foo:bar}", "foo:*", "", nil, nil, "")
|
||||
require.Equal(t, "Hello foobaz, Hello foobar", replaced)
|
||||
replaced := r.Replace("{foo:baz}, {foo:bar}, {foo:123}", "foo:*", "", nil, nil, "")
|
||||
require.Equal(t, "Hello foobaz, Hello foobar, Hello 456", replaced)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue