从文本文件中读出一行数据(该行数据的每一项数据用“|”分割),要用正则匹配一下该行数据是否符合要求(这一点已经实现),现在是如果不符合的话要提示一下用户究竟在这行文本中的那一项出问题。例子:
比方说有这样一行数据 aa|123456|bbb|cc||cc
该行的第二项在正则中要求是7位数字,所以校验的经过为False,但如何提示第二项有问题呢
比方说有这样一行数据 aa|123456|bbb|cc||cc
该行的第二项在正则中要求是7位数字,所以校验的经过为False,但如何提示第二项有问题呢
String [] ss = s.split("\\|") ;
if(ss[1].length()<8){
System.out.println(ss[1]);
System.out.println("出错");
}
if(m.find()){
System.out.println("第二项不匹配,应为7位整数");
}else{
System.out.println("正确");
}
if(m.find()){
System.out.println("第二项不匹配,应为7位整数:"+m.group());
}else{
System.out.println("正确");
}
那把"aa\\|(?!\\d{7})\\d{0,7}\\|bbb\\|cc\\|\\|cc"改成"aa\\|(?!\\d{7})\\d+\\|bbb\\|cc\\|\\|cc"就行了。