<分区>
我尝试在 java 中模拟没有正则表达式的电子邮件验证并编写了这段代码。我需要帮助来提高这段代码的效率(或者请给我一个更好的方法来解决这个问题)
正则表达式:^[(a-zA-Z-0-9-\\_\\+\\.)]+@[(a-z-A-z)]+\\.[(a-zA- z)]{2,3}$
public static boolean isValidEmailAddress(String email) {
boolean flag1 = false;
boolean flag2=false;
boolean flag3=false;
int j=0;
char[] emailChars = email.toCharArray();
for (int i = 0; i < emailChars.length;) {
char c = emailChars[i];
if (Character.isLetterOrDigit(c)) {
i++;
if(flag1==true&&flag2==true){
j++;
}
} else if (c == '@' && flag1==false&&flag2==false && flag3==false) {
i++;
flag1=true;
} else if(c=='.' && flag1==true && flag2==false&&flag3==false){
i++;
flag2 = true;
}
if(j==2 || j==3){
flag3=true;
}
}
return flag1&&flag2&&flag3;
}