diff --git a/restream/replace/replace.go b/restream/replace/replace.go index e9b45adc..e57cb855 100644 --- a/restream/replace/replace.go +++ b/restream/replace/replace.go @@ -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:]+)}`), } diff --git a/restream/replace/replace_test.go b/restream/replace/replace_test.go index 1d9ccfe0..5861c5e9 100644 --- a/restream/replace/replace_test.go +++ b/restream/replace/replace_test.go @@ -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) }