RegEx: Найти Email Адреса в Файле с Помощью Grep

Ниже Вы найдете регулярное выражение, который поможет проверить валидность и извлечь все подходящие email адреса из файла.

Это регулярное выражение подходит для 99% использующихся в наши дни email адресов.

В этой статье Вы найдете само регулярное выражение соответствующее email адресу, и пример того, как извлечь из файла соответствующие паттерну почтовые ящики с помощью команды grep.

Регулярное Выражение для Email Адресов

Используйте следующее регулярное выражение, чтобы найти и проверить валидность email адресов:

"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"

Найти Все Email Адреса с Помощью Grep

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

$ grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" file.txt
Опция Описание
-E, —extended-regexp Использовать расширенное регулярное выражение
-o, —only-matching Печать только самих email адресов

4 Replies to “RegEx: Найти Email Адреса в Файле с Помощью Grep”

  1. This matches way more than 99%.
    On 10 million, it missed 3! That’s 99.99997%

  2. I tried to limit the number of characters before @ without success.
    For example :
    grep -E -o «\b[A-Za-z0-9._%+-]{0,4}@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b»
    but my results are cut !
    Example :
    myemail@mydomain.com => mail@mydomain.com
    Any idea ?

    1. It should be 1 char to 4 char right ?
      grep -E -o “\b[A-Za-z0-9._%+-]{1,4}@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b”

Добавить комментарий