验证正则表达式而不捕获异常?

Ste*_*ane 1 .net c# regex

在.NET应用程序(用C#编写)中,我有一个带有列表的UI和一个用于输入过滤字符串的文本框,用于过滤列表中显示的内容.我按用户键入刷新过滤器.

我现在想允许在过滤字符串中使用正则表达式,这会产生问题.当用户键入表达式时,它可能是无效的,例如在键入开始括号的时间和键入右括号的时间之间.使用无效表达式新建正则表达式会引发异常,我想阻止这种情况.一种方法是捕获异常,但我想知道是否有某种方法可以检查表达式是否是一个有效的正则表达式而不实际尝试使用它来创建一个正则表达式.

Gra*_*meF 5

抓住例外.鉴于这将响应用户输入而发生,将绝对没有显着的性能损失.