public FindReplaceTool(IUIVisualizerService uiVisualizerService, ITypeFactory typeFactory) { Argument.IsNotNull(() => uiVisualizerService); Argument.IsNotNull(() => typeFactory); _uiVisualizerService = uiVisualizerService; _typeFactory = typeFactory; _findReplaceSettings = new FindReplaceSettings(); }
public static Regex GetRegEx(this FindReplaceSettings settings, string textToFind, bool isLeftToRight = false) { Argument.IsNotNull(() => textToFind); Argument.IsNotNull(() => settings); var options = RegexOptions.None; if (settings.IsSearchUp && !isLeftToRight) { options |= RegexOptions.RightToLeft; } if (!settings.CaseSensitive) { options |= RegexOptions.IgnoreCase; } if (settings.UseRegex) { return(new Regex(textToFind, options)); } var pattern = Regex.Escape(textToFind); if (settings.UseWildcards) { pattern = pattern.Replace("\\*", ".*").Replace("\\?", "."); } if (settings.WholeWord) { pattern = "\\b" + pattern + "\\b"; } return(new Regex(pattern, options)); }