jak WYDOBYĆ adresy e-mail

Czasami eksportujesz dane ze swojej strony internetowej lub oprogramowania firmowego
zawierające informacje o zamówieniu lub dane klienta.
Możliwe, że potrzebujesz jedynie adresu e-mail i daty zamówienia.

Jednym ze sposobów jest zaimportowanie wszystkich danych do programu Excel, usunięcie niepotrzebnych kolumn
i wyeksportowanie pozostałych.

Może to nie działać dobrze, jeśli pole adresu e-mail zawiera również opis adresu e-mail,
na przykład: „Dave Martin

Może to być uciążliwe, jeśli musisz powtarzać zadanie wiele razy
lub tłumaczyć wszystkie kroki komuś innemu.


Wyodrębnij żądane dane za pomocą „regex”

Wyrażenie regularne (w skrócie „regex” lub „regexp”)
to sekwencja znaków określająca pasujący wzorzec w tekście.

Bardzo prostym przypadkiem jest znalezienie słowa zapisanego na dwa różne sposoby w edytorze tekstu;
wyrażenie regularne seriali[sz]e pasuje zarówno do „serialise”, jak i „serialize”.

Bardziej złożoną sytuacją jest składnia identyfikacji w tekście


Samouczek dotyczący wyrażeń regularnych (Regex)

Polecany film na YouTube
„38 minut dobrze spędzonych, zdecydowanie warto” :

Jak dopasować dowolny wzór tekstu
(od 25. minuty wyjaśniono składnię wyodrębniania adresów e-mail)

Arkusz ściągawek dotyczący używania wyrażeń regularnych


Narzędzie online RegExr

Wyrażenia regularne są na ogół akceptowane
w zaawansowanych edytorach tekstu, takich jak Notepad++ czy Atom.

Dostępne są również bezpłatne narzędzia online, jednym z nich jest:
https://regexr.com - usługa online do nauki, tworzenia i testowania wyrażeń regularnych.

Wyjaśnienie interfejsu internetowego:
„Wyrażenie” to pole zawierające składnię wyrażenia regularnego.
„Tekst” to treść, którą chcesz przeanalizować.
Wyniki ekstrakcji zostaną wyświetlone w menu „Narzędzia > Lista”.


Przykład 1: wyodrębnienie tylko adresu e-mail

Wyrażenie:
[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+

Tekst:

Dave Martin 615-555-7164 173 Main St., Springfield RI 55924 davemartin@bogusemail.com Charles Harris 800-555-5669 969 High St., Atlantis VA 34075 charlesharris@bogusemail.com Eric Williams 560-555-5153 806 1st St., Faketown AK 86847 laurawilliams@bogusemail.com

Narzędzia > Lista:
$&\n

Wynik:

davemartin@bogusemail.com charlesharris@bogusemail.com laurawilliams@bogusemail.com

Przykład 2: wyodrębnienie adresu e-mail i daty

Wyrażenie:
","(.*?)([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)(.*?)",".*",(\d{2}\.\d{2}\.\d{4})

Tekst:

„lorem ipsum dolor sit amet”, „Robert Farrell<rmfarrell@bogusemail.com> ","",02.01.2024, ,5379, "consectetur adipiscing elita","""Mesa, Rene<rmesa@bogusemail.com> ""","",04.01.2024, ,20826, "sed do eiusmod tempor incididunt","Antonio Bugan<antonio@bogusemail.com> ","",04.01.2024, ,2856, "ut labore et dolore magna aliqua","Crawley Down Tennis Club<hello@bogusemail.com> ","", 05.01.2024, ,4453,

Narzędzia > Lista:
$2,$4\n

Wynik:

rmfarrell@bogusemail.com,02.01.2024 rmesa@bogusemail.com,04.01.2024 antonio@bogusemail.com,04.01.2024 hello@bogusemail.com,05.01.2024

Arkusz ściągawek dotyczący używania wyrażeń regularnych
. - Dowolny znak z wyjątkiem nowej linii \d - Cyfra (0-9) \D - Nie jest cyfrą (0-9) \w - Znak słowa (az, AZ, 0-9, _) \W - Nie jest znakiem słowa \s - Biała spacja (spacja, tabulator, nowa linia) \S - Nie jest białą spacją (spacja, tabulator, nowa linia) \b - Granica słowa \B - Nie jest granicą słowa ^ - Początek ciągu $ - Koniec ciągu [] - Dopasowuje znaki w nawiasach [^ ] - Dopasowuje znaki NIE w nawiasach | - Albo lub ( ) - Kwantyfikatory grupy: * - 0 lub więcej + - 1 lub więcej ? - 0 lub jeden {3} - Dokładna liczba {3,4} - Zakres liczb (minimum, maksimum)

źródło: fragmenty kodu github


powrót na górę