检查字符串是否是有效的RegEx Pattern VB.NET

Mp *_*ega 5 regex vb.net

好的,我有以下字符串

"^[a-z]*$"
Run Code Online (Sandbox Code Playgroud)

"a-z"
Run Code Online (Sandbox Code Playgroud)

现在我想用这两个字符串来检查它们是否是VB.NET中有效的正则表达式字符串.我真的不知道我怎么能做到......但我在下面试了一下

Try
  Dim regex As Regex = New Regex("a-z")
  Return "valid regex"
Catch ex As Exception
 Return "not valid regex"
End Try
Run Code Online (Sandbox Code Playgroud)

但我上面的解决方案似乎不太好.有更好的解决方案吗?

slo*_*oth 7

不,没有其他解决方案(你当然可以重新实现正则表达式解析器,但这将是一个容易出错的工作).

如果正则表达式无效ArgumentException,我宁愿捕获Regex构造函数抛出的特定内容Exception.