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

Mos*_*aou 3 .net c# regex

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

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

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

Bri*_*ens 7

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

try { Regex reg = new Regex(userDefinedValidation); } 
catch (ArgumentException) { /* not a regex */ }
Run Code Online (Sandbox Code Playgroud)

  • 您可能希望捕获`ArgumentException`以避免吞下任何意外错误. (3认同)