正则表达式中的匹配函数为空?

use*_*653 1 c# regex null match visual-studio-2010

我似乎在视觉工作室中收到一条错误信息

Value cannot be null.
Parameter name: input
Run Code Online (Sandbox Code Playgroud)

当我尝试做的时候 Match BirthYear2 = Regex.Match(kvpInd2.Value.birth.date, BirthPattern2);

我想知道可以让Match函数产生null吗?基本上,我不介意是否kvpInd2.Value.birth.date包含表达式

谢谢

das*_*ght 10

在你的情况下,Regex.Match生成 a null,你传递null作为它的第一个参数.

异常:ArgumentNullException - inputpattern为null.

如果您希望null输入有效,可以按如下方式更改通话:

Match BirthYear2 = Regex.Match(kvpInd2.Value.birth.date ?? "", BirthPattern2);
Run Code Online (Sandbox Code Playgroud)

这将不匹配返回(假设BirthPattern2不匹配空字符串)时kvpInd2.Value.birth.datenull,而不是抛出异常.