Regex.Match() 是否有可能为 return null? (C# .Net 框架 3.5?)

Is it possible for Regex.Match() to return null? (C# .Net framework 3.5?)

下面(大大简化的)代码中的 regex.Match 是否有可能 return 为空?

Regex regex = new Regex(pattern);
Match m = regex.Match(input);

我的静态分析工具抱怨没有对 m 进行空检查,但我认为这实际上没有必要。最好删除空检查,这样我的代码覆盖率对于它包含的方法是 100%。

想法?

查尔斯.

Documentation 是你的朋友:

Return Value

Type: System.Text.RegularExpressions.Match

An object that contains information about the match.

Microsoft 告诉您它只会 return 一个 Match 对象(而不是 null),这意味着您可以正确地假设这是真的。

不过,根据文档,它有可能抛出异常 (ArgumentNullException or RegexMatchTimeoutException)。

您要检查的是 returned MatchSuccess 属性.