Как проверить правильность Regex во время работы?

Рейтинг: 2Ответов: 1Опубликовано: 16.02.2011

Предположим, регулярное выражение не задается в явном виде в коде, а вводится пользователем программы во время работы приложения или извлекается из файла настроек и т.п. Заранее неизвестно, будет ли это регулярное выражение правильным: оно вполне может содержать произвольные ошибки. Я просмотрел описание класса Regex и не нашел явного способа проверить выражение на правильность. Вопрос, как это сделать?

Ответы

▲ 5Принят

Когда будет создаваться экземпляр Regex от строчки, если паттерн был синтаксически некорректен, из конструктора прилетит ArgumentException.

try {
    Regex r = new Regex(pattern);
} catch (ArgumentException) {
}