/// <summary>
        /// Add glob pattern, for example "**.zip/**.dll"
        /// </summary>
        /// <param name="globPatterns"></param>
        /// <param name="directorySeparatorChars"></param>
        /// <returns>this</returns>
        public PatternSet AddGlobPatterns(IEnumerable <string> globPatterns, string directorySeparatorChars = "/")
        {
            GlobPatternFactory factory = GlobPatternFactory.Create(directorySeparatorChars);

            patterns.AddRange(globPatterns.Select(globPattern => "^" + factory.CreateRegexText(globPattern) + "$"));
            matcherFunc = null;
            return(this);
        }
 static string MakeRegexPattern(string globPattern, string directorySeparatorCharacters)
 => "^" + GlobPatternFactory.Create(directorySeparatorCharacters).CreateRegexText(globPattern ?? throw new ArgumentNullException(nameof(globPattern))) + "$";
 /// <summary>
 /// Add glob pattern, for example "**.zip/**.dll"
 /// </summary>
 /// <param name="globPattern"></param>
 /// <param name="directorySeparatorChars"></param>
 /// <returns>this</returns>
 public PatternSet AddGlobPattern(string globPattern, string directorySeparatorChars = "/")
 {
     patterns.Add("^" + GlobPatternFactory.Create(directorySeparatorChars).CreateRegexText(globPattern) + "$");
     matcherFunc = null;
     return(this);
 }