我正在构建一个将命名正则表达式保存到数据库中的应用程序。看起来像这样:
我正在使用 Asp.Net 表单。如何验证输入的正则表达式?它希望用户知道输入的正则表达式是否不是有效的 .Net 正则表达式。
该字段应拒绝以下值:
^Wrong(R[g[x)]]$
Invalid\Q&\A
我正在构建一个将命名正则表达式保存到数据库中的应用程序。看起来像这样:
我正在使用 Asp.Net 表单。如何验证输入的正则表达式?它希望用户知道输入的正则表达式是否不是有效的 .Net 正则表达式。
该字段应拒绝以下值:
^Wrong(R[g[x)]]$
Invalid\Q&\A
从中创建新的 Regex 类。如果它抛出异常,那么它是无效的。
try{
new Regex(expression)
}
catch(ArgumentException ex)
{
// invalid regex
}
// valid regex
我知道。对代码逻辑使用异常是错误的。但这似乎是唯一的解决方案。
可能是这样的:
public static class RegexUtils
{
public static bool TryParse (string possibleRegex, out Regex regex)
{
regex = null;
try
{
regex = new Regex(possibleRegex);
return true;
}
catch (ArgumentException ae)
{
return false;
}
}
}