Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to validate if the input contains a valid .Net regular expression?

I'm building an application that saves named regular expressions into a database. Looks like this:

Regex form

I'm using Asp.Net forms. How can I validate the entered regex? It would like the user to know if the entered regex is not a valid .Net regular expression.

The field should reject values like:

^Wrong(R[g[x)]]$
Invalid\Q&\A
like image 366
Kees C. Bakker Avatar asked Oct 26 '12 10:10

Kees C. Bakker


1 Answers

Make new Regex class out of it. If it throws exception, then it is invalid.

try{
  new Regex(expression)
}
catch(ArgumentException ex)
{
  // invalid regex
}

// valid regex

I know. Using exceptions for code logic is wrong. But this seems to be only solution.

like image 195
Euphoric Avatar answered Nov 15 '22 01:11

Euphoric