HeapProfiler.MainWindow.EscapeFilter C# (CSharp) Method

EscapeFilter() public static method

public static EscapeFilter ( string filter ) : string
filter string
return string
        public static string EscapeFilter(string filter)
        {
            filter = filter
                .Replace("*", "\x0")
                .Replace("?", "\x1");

            return String.Format(
                "^{0}$",
                Regex.Escape(filter)
                    .Replace("\x0", "(.*)")
                    .Replace("\x1", "(.?)")
            );
        }

Usage Example

Example #1
0
        private void TracebackFilter_FilterChanging(object sender, FilterChangingEventArgs e)
        {
            if (e.Filter.Trim().Length == 0)
            {
                return;
            }

            var   filter = MainWindow.EscapeFilter(e.Filter);
            Regex regex;

            try {
                regex = new Regex(filter);
            } catch {
                e.SetValid(false);
                return;
            }

            foreach (var name in FunctionNames)
            {
                if (regex.IsMatch(name))
                {
                    e.SetValid(true);
                    return;
                }
            }

            e.SetValid(false);
        }
MainWindow