«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему моя проверка электронной почты Java Regex не удалась, несмотря на работу в Eclipse «Найти и заменить»?

Почему моя проверка электронной почты Java Regex не удалась, несмотря на работу в Eclipse «Найти и заменить»?

Опубликовано 22 декабря 2024 г.
Просматривать:136

Why Does My Java Regex Email Validation Fail Despite Working in Eclipse's Find and Replace?

Проблема с проверкой электронной почты Java Regex

При попытке проверить адреса электронной почты с помощью регулярного выражения пользователь Java столкнулся с проблемой, при которой проверка не удалась даже для правильно сформированных адресов электронной почты. Несмотря на то, что регулярное выражение соответствует адресам электронной почты при использовании в функции «найти и заменить» в Eclipse, оно не работает при использовании с классами Java Pattern и Matcher.

Рассматриваемое регулярное выражение:

\b[A-Z0-9._%-] @[A-Z0-9.-] \.[A-Z]{2,4}\b

Пользователь применил этот код в Java:

Pattern p = Pattern.compile("\\b[A-Z0-9._%-] @[A-Z0-9.-] \\.[A-Z]{2,4}\\b");
Matcher m = p.matcher("[email protected]");

if (m.find())
    System.out.println("Correct!");

Однако независимо от того, действителен или недействителен адрес электронной почты, проверка регулярного выражения завершается неудачей.

Потенциальное решение

Предлагаемое решение — использовать следующий код Java, в котором используется аналогичное регулярное выражение:

public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^}[A-Z0-9._% -] @[A-Z0-9.-] \\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

public static boolean validate(String emailStr) {
    Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr);
    return matcher.matches();
}

Сообщается, что этот код надежно проверяет адреса электронной почты.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3