次のようなコードで使用する電子メールアドレス検証正規表現があります。
public class Test {
public static void main(String[] args) {
try {
String lineIwant = "myname@asl.ramco-group.com";
String emailreg = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Boolean b = lineIwant.matches(emailreg);
if (b == false) {
System.out.println("Address is Invalid");
}else if(b == true){
System.out.println("Address is Valid");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
この例の特定の電子メール アドレスでは、ブール値は false を返しますが、これは有効な顧客の電子メール アドレスです。
との間のハイフンが原因であるとramco
思わgroup
れます。それを削除すると、ブール値がtrueを返すためです。
そのようなメールアドレスに対応するように正規表現を変更するにはどうすればよいですか?