#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