I have a piece of code in c# that checks, if a value is a valid regex pattern.
Code is straight forward:
   try    {       System.Text.RegularExpressions.Regex.IsMatch("", pattern);    }    catch (Exception ex)    {        return "pattern matches must be a valid regex value";    }  I'm trying to test if it works correctly, but I can't find an invalid regex pattern.
Any suggestions?
The JavaScript exception "invalid regular expression flag" occurs when the flags in a regular expression contain any flag that is not one of: g , i , m , s , u , y or d . It may also be raised if the expression contains more than one instance of a valid flag.
Most characters, including all letters ( a-z and A-Z ) and digits ( 0-9 ), match itself. For example, the regex x matches substring "x" ; z matches "z" ; and 9 matches "9" . Non-alphanumeric characters without special meaning in regex also matches itself. For example, = matches "=" ; @ matches "@" .
This is invalid...
[   You can also test the validity of regular expressions in real-time at http://regexhero.net/tester/
By the way, you don't actually have to test the regular expression against a string to see if it's valid. You can simply instantiate a new Regex object and catch the exception.
This is what Regex Hero does to return a detailed error message...
public string GetRegexError(string _regexPattern, RegexOptions _regexOptions) {     try     {         Regex _regex = new Regex(_regexPattern, _regexOptions);     }     catch (Exception ex)     {         return ex.Message;     }      return ""; } 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With