OleViewDotNet.COMRegistryViewer.GlobToRegex C# (CSharp) Method

GlobToRegex() private static method

Convert a basic Glob to a regular expression
private static GlobToRegex ( string glob, bool ignoreCase ) : Regex
glob string The glob string
ignoreCase bool Indicates that match should ignore case
return Regex
        private static Regex GlobToRegex(string glob, bool ignoreCase)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append("^");

            foreach (char ch in glob)
            {
                if (ch == '*')
                {
                    builder.Append(".*");
                }
                else if (ch == '?')
                {
                    builder.Append(".");
                }
                else
                {
                    builder.Append(Regex.Escape(new String(ch, 1)));
                }
            }

            builder.Append("$");

            return new Regex(builder.ToString(), ignoreCase ? RegexOptions.IgnoreCase : RegexOptions.None);
        }