Мое приложение включает создание классов POCO во время выполнения с использованием CodeDOM. Я ищу способ разрешить моему конечному пользователю указать ограничение на значение некоторых свойств, которые он создает (например, если он добавляет свойство Email, чем он, вероятно, хотел бы проверить содержимое на адрес электронной почты. Очевидно, что у конечного пользователя могут быть дополнительные пользовательские ограничения).Как проверить правильность строки?
Мое намерение состоит в том, чтобы предложить поле PropertyValidation
, где конечный пользователь может предоставить регулярное выражение, которое служит валидатором для содержимого созданных экземпляров этого свойства.
Есть ли способ убедиться, что строка, содержащаяся в поле PropertyValidation
, является фактическим Regex
, прежде чем разрешить это?
Используйте блок «Try ... Catch» http://stackoverflow.com/questions/218680/can-i-test-if-a-regex-is-valid-in-c-sharp-without- throwing-exception – keyboardP
Знают ли ваши конечные пользователи правильно писать регулярные выражения? Имейте в виду, что простой 'hi' является допустимым регулярным выражением, но может не делать того, чего хочет конечный пользователь. Кроме того, некоторые вещи (например, почтовые адреса или даже ввод HTML) не могут быть легко проверены с помощью регулярных выражений. Кроме того, плохо написанные и часто регулярные выражения могут сделать приложение медленным. – hangy
Что значит ** действительный **? Это '.', Является допустимым Regex. –