You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UPDATE: Looks like all of the multi-term patterns were not working as expected due to spacing. They all work as expected when that's fixed. All that leaves is the first pattern I put where I would expect it not to match.
I am building a single string out of a list of glob patterns I want to match to pass into glob.Compile().
An example might be glob.Compile("{"+strings.Join(globPatterns, ",")+"}", '.')
It seems though it may be impossible to have a , in one of the patterns. I wrote a simple test table to demonstrate what my assumption would be and what the actual results were in a comment above each test case. The last case I listed also surprised me, because the Compile documentation suggests that \ should escape { and }.
typeTstruct {
PatternstringInputstring
}
funcmain() {
tests:= []T{
{
// Should not match since ',' is a separator (it does)Pattern: "test,pattern",
Input: "test,pattern",
},
{
// Should match (and it does)Pattern: "test\\,pattern",
Input: "test,pattern",
},
{
// Should not match (it doesn't)Pattern: "{ test,pattern }",
Input: "test,pattern",
},
{
// Should match (it doesn't)Pattern: "{ test\\,pattern }",
Input: "test,pattern",
},
{
// Should match (it doesn't)Pattern: "{ \\{test\\} }",
Input: "{test}",
},
}
for_, t:=rangetests {
g, err:=glob.Compile(t.Pattern)
iferr!=nil {
panic(err)
}
fmt.Printf("%+v, %v\n", t, g.Match(t.Input))
}
}
Additionally, should the Compile documentation be updated to include , in the list of special characters that need escaped? QuoteMeta also appears to not escape ,.
Hello,
UPDATE: Looks like all of the multi-term patterns were not working as expected due to spacing. They all work as expected when that's fixed. All that leaves is the first pattern I put where I would expect it not to match.
I am building a single string out of a list of glob patterns I want to match to pass into glob.Compile().
An example might be
glob.Compile("{"+strings.Join(globPatterns, ",")+"}", '.')
It seems though it may be impossible to have a
,
in one of the patterns. I wrote a simple test table to demonstrate what my assumption would be and what the actual results were in a comment above each test case. The last case I listed also surprised me, because the Compile documentation suggests that\
should escape{
and}
.Which prints the following:
Are my assumptions in my comments correct? If so, how would you suggest they be addressed? I would be willing to take a crack at it if you would like.
The text was updated successfully, but these errors were encountered: