以下是部分代码:
int i = 1,j=0;
for (int r = 0; r < q; r++)
{
string[] data5 = new string[0];
string[][] ff = new string[data3.Length][];
ListViewItem a = new ListViewItem();
if (g3_1.IsMatch(data3[r]))
{
string data6 = data3[r].Replace("DEP-", "cDEP-");
data5 = data6.Split(new char[] { 'c' });
Match group3_1 = Regex.Match(data5[1], "[A-Z]{3}");
Match group7_1 = Regex.Match(data5[1], "([A-Z]{3}\\d{1,4}/[A][0-7]{4})|([A-Z]{3}\\d{1,3}[Q-Z])|([A-Z]{3}\\d{1,4})");
Match group9_1 = Regex.Match(data5[1], "([0-9]{0,2}\\w{2,4})/[HML]");
Match group13_1 = Regex.Match(data5[1], "[A-Z]{4}[0-9]{4}");
Match group16a_1 = Regex.Match(data5[1], "(-[A-Z]{4}-)");
Match group16_1 = Regex.Match(group16a_1.Value, "([A-Z]{4})");
ff[j][0] = i.ToString();
ff[j][1] = group3_1.Value;
ff[j][2] = group7_1.Value;
ff[j][3] = group9_1.Value;
ff[j][4] = group13_1.Value;
ff[j][6] = group16_1.Value;
}
}
正则表达式没有匹配到呗,如果是你正则的问题,你要贴出原始的字符串,和你要做什么帮你看下。
如果你正则没错,但是数据可能有少量不合法,先用IsMatch判断下,或者try catch跳过。
因为group3-1的值为null,你要一步一步跟踪你的代码调试一下看看group3-1是不是你预期的值
空指针,打个断点看一下就ok了,兄弟
正则没有匹配到数据,所以group3_1等等这些变量的值都是null,所以一直报空指针错误
谢谢各位大佬,虽然我最后换了个办法。