Игнорируйте ошибки шаблона при поиске по регулярному выражению и не прерывайте поиск

#c# #regex

Вопрос:

Я работаю над программой поиска и замены регулярных выражений и хотел бы иметь предварительный просмотр в режиме реального времени, который немедленно показывает любые изменения.

Моя проблема в том, что программа логически вылетает, когда я открываю скобку » [ » , например, потому что регулярное выражение ожидает, что скобка будет закрыта. Конечно, могут быть и другие ошибки, из-за которых программа выходит из строя во время поиска.

Я хотел бы остановить поиск и отобразить сообщение об ошибке, если шаблон неверен.

Кто-нибудь знает решение для использования запроса «ЕСЛИ» в C#, например, для проверки того, будет ли работать поиск регулярных выражений перед его выполнением?

Или как еще я могу обойтись без сбоев?

 using System.Text.RegularExpressions;  public string UseRegex(string input, string search, string replace) {  if (???)  {  string result = Regex.Replace(input, search, replace);  return result;  }  else  {  return "error";  } }  

Ответ №1:

Попробуй это:

 public string UseRegex(string input, string search, string replace) {  try  {  string result = Regex.Replace(input, search, replace);  return result;  }  catch  {  return input;  } }  

Комментарии:

1. В конце концов, это сработало, остерегайтесь программы отладки, похоже, она неправильно использует try/catch.. TY