正規表現 は"String regex = "[0-9a-z]+@[0-9a-z]+.+[0-9a-z]";"
、電子メール検証のテストに使用されます。基本的に、電子メールが英数字の文字列で始まり、その後に 1 つの @ 記号が続き、その後に別の英数字の文字列が続き、その後に 1 が続く場合にのみ、電子メールがこのパターンに一致するようにしようとしています。英数字の文字列。失敗したのは、最後の . の後に英数字の文字列なしで電子メールを入力すると、プログラムが正規表現文字列と一致することです。.? の後に別の英数字の文字列が必要になるようにするにはどうすればよいですか? コード全体は次のとおりです。
import java.util.Scanner;
import java.util.regex.*;
public class Regex
{
public static void main (String[]args){
Scanner input = new Scanner(System.in);
System.out.println("Please enter your Email");
String mail = input.nextLine();
String regex = "[0-9a-z]+@[0-9a-z]+.+[0-9a-z]";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(mail);
if(m.find()) {
System.out.println("VALID");
} else {
System.out.println("INVALD");
}
}
}