如何修复android中的java.util.regex.PatternSyntaxException


public static boolean isEmailValid(String email) {
boolean isValid = false;
String expression = "^[\w\.-]+@([\w\-]+\.)+[A-Z]{2,4}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}

我在活动中调用此项进行电子邮件验证

if (!Util.isEmailValid(binding.etEmail.getText().toString().trim())) {
Toast.makeText(this, getResources().getString(R.string.valid_email), Toast.LENGTH_SHORT).show();
return false;
}

我正在收到事故报告。

java.util.regex.PatternSyntaxException:索引7附近的{min,max}间隔中出错(+\d{٣}[\s-]?\d{0}[\s-]?(

让我知道,如果不清楚,我会张贴完整的崩溃报告

请帮助我做错了什么以及如何修复这个崩溃。

使用此

String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+"

而不是这个

String emailPattern = "^[\w\.-]+@([\w\-]+\.)+[A-Z]{2,4}$"

最新更新