无效的正则表达式模式
我在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。