Шаблон извлечения электронной почты Java, исключая символы перед точкой

1

В настоящее время я использую экстрактор электронной почты, который работает хорошо, но я хотел бы изменить его шаблон, который:

[^a-zA-Z0-9-](?<num>[a-zA-Z0-9_-]{2,20}@[A-Za-z0-9_-]{3,20}\.[\.a-zA-Z0-9_-]+)[^a-zA-Z0-9_-]

Проблема с этим шаблоном заключается в том, что он исключает все символы перед точкой.

Например, если он найдет электронное письмо типа "[email protected]", он сообщит "[email protected]",

Я не знаю, что я должен написать в шаблоне, чтобы он больше не исключал персонажей перед точкой.

Если у кого-то есть идея, пожалуйста, дайте мне знать... большое спасибо!

Теги:
pattern-matching
email

1 ответ

1
Лучший ответ

Ваше регулярное выражение не кажется правильным, попробуйте это регулярное выражение:

\b(?<num>[a-zA-Z0-9][\w.-]{2,20}@[\w-]{3,20}\.[.\w-]+)\b

Демо-версия RegEx

  • 0
    У его регулярного выражения есть знак ( ^ ) в этом первом классе персонажей. Твой нет. Я предпочитаю ваш \b но тогда вы должны избавиться от всего этого класса персонажей. Прямо сейчас это пропускает первое письмо любого адреса электронной почты.
  • 1
    Спасибо, я уточнил это дальше. Смотрите обновленный.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню