无效的正则表达式模式

我在c#中有一段代码来检查值是否是有效的正则表达式模式。 代码很简单:

try { System.Text.RegularExpressions.Regex.IsMatch("", pattern); } catch (Exception) { return "pattern matches must be a valid regex value"; } 

我试图测试它是否正常工作,但我找不到无效的正则表达式模式..呵呵

有什么建议?

这是无效的……

 [ 

您还可以在http://regexhero.net/tester/上实时测试正则表达式的有效性。

顺便说一句,您实际上不必对字符串测试正则表达式以查看它是否有效。 您可以简单地实例化一个新的Regex对象并捕获exception。

这正是Regex Hero返回的详细错误消息…

 public string GetRegexError(string _regexPattern, RegexOptions _regexOptions) { try { Regex _regex = new Regex(_regexPattern, _regexOptions); } catch (Exception ex) { return ex.Message; } return ""; } 

这是一个非正确表达式的示例:

 [0-9]++ 

试试这个:

 * 

顺便说一下,在Java中有一种方法可以将字符串编译为模式,并且它会抛出一个带有精确错误诊断的exception。