如何验证字符串是否为正则表达式

本文关键字:字符串 是否 正则表达式 验证 何验证 | 更新日期: 2023-09-27 18:25:33

我的应用程序包括在运行时使用CodeDOM创建POCO类。我正在寻找一种方法,允许我的最终用户指定他创建的某些属性的值的限制(例如,如果他添加了一个属性电子邮件,而不是他可能希望验证电子邮件地址中的内容。很明显,最终用户可能有更多的自定义限制)。

我的意图是提供一个PropertyValidation字段,最终用户可以在其中提供一个正则表达式,作为该属性的已创建实例的内容的验证器。

在允许之前,有什么方法可以确保PropertyValidation字段中提供的字符串是实际的Regex吗?

如何验证字符串是否为正则表达式

尝试创建Regex对象并捕获任何由此产生的错误:

try { Regex reg = new Regex(userDefinedValidation); } 
catch (ArgumentException) { /* not a regex */ }

如果"Try-Catch方式"过于通用,那么您应该编写一个正则表达式来解析正确的正则表达式;)