undefined
Blog > Web Scraping > Post

RegEx: Extrahieren aller E-Mail-Adressen aus TXT-Dateien oder Strings

Monday, January 09, 2023

In diesem Artikel zeige ich Ihnen, wie Sie mithilfe eines regulären Ausdrucks alle E-Mail-Adressen aus TXT-Dateien oder Zeichenketten extrahieren können. 

 

 

Option 1: Excel Formel  

=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1))).

 

Die Verwendung dieser Formel zum Extrahieren von E-Mail-Adressen ist frustrierend, wenn Sie in Excel unerfahren sind. Excel hat strenge Regeln für die Reihenfolge. Oft kopiert man eine komplexe Formel und fügt sie ein, aber Excel akzeptiert sie nicht, wenn man den Ausdruck nicht in die Zelle eingibt. Ein weiteres Problem, das mit der Excel-Formel verbunden ist, besteht darin, dass Sie eine gewisse Zeit damit verbringen müssen, den Ausdruck zu debuggen, insbesondere wenn es sich um einen langen Ausdruck handelt.

 

Option 2: Excel VBA Code

 

 

 

Schritt 1: Drücken Sie die Tasten "ALT+F11", und Sie gelangen zum Fenster Microsoft Visual Basic for the Application

 

Schritt 2: Klicken Sie auf Einfügen > Modul, kopieren Sie den folgenden Text und fügen Sie ihn in das Modulfenster ein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
    For j = 1 To UBound(arr, 2)
        extractStr = arr(i, j)
        outStr = ""
        Index = 1
        Do While True
            Index1 = VBA.InStr(Index, extractStr, "@")
            getStr = ""
            If Index1 > 0 Then
                For p = Index1 - 1 To 1 Step -1
                    If Mid(extractStr, p, 1) Like CheckStr Then
                        getStr = Mid(extractStr, p, 1) & getStr
                    Else
                        Exit For
                    End If
                Next
                getStr = getStr & "@"
                For p = Index1 + 1 To Len(extractStr)
                    If Mid(extractStr, p, 1) Like CheckStr Then
                        getStr = getStr & Mid(extractStr, p, 1)
                    Else
                        Exit For
                    End If
                Next
                Index = Index1 + 1
                If outStr = "" Then
                    outStr = getStr
                Else
                    outStr = outStr & Chr(10) & getStr
                End If
            Else
                Exit Do
            End If
        Loop
        arr(i, j) = outStr
    Next
Next
WorkRng.Value = arr
End Sub

 

Schritt 3: Drücken Sie "Ok", um mit dem Vorgang fortzufahren.

 

Schritt 4: Wählen Sie den Bereich, den Sie auf den obigen Code anwenden möchten. In diesem Fall den Bereich A1: A4

 

 

Option 3: Regulärer Ausdruck 

Der reguläre Ausdruck kann schwer zu erlernen sein, wenn Sie keine Programmierkenntnisse haben. Sie können jedoch direkt diesen einfachen Ausdruck kopieren, um die E-Mail-Adresse zu filtern und dann die Daten zu extrahieren. 

[a-zA-Z0-9-_]{1,}@[a-zA-Z0-9-_]{1,}.[a-zA-Z]{1,}

 

Octoparse verfügt über ein eingebautes RegEx-Tool, mit dem sich die extrahierten Daten einfach bereinigen lassen. Besonders für die Menschen, die keine Programmierkenntnisse haben, ist das Tool sehr praktisch, denn sie müssen keine Zeit verbringen, um Python zu lernen. Octoparse ermöglicht es Ihnen, Datenextraktion, Datenbereinigung und Datenexport in einem Tool zu erledigen. 

 

Schritt 1: Octoparse öffnen

Schritt 2: Kopieren Sie die Textzeichenfolge unter Quelltext. In diesem Fall ist die Textzeichenfolge:

This email address is valid: web@email.net and this email address is not valid web@email. Same as what_ever@public.com is a valid email address and address test@test. is not valid! OCTOPARSE@test.com is also valid

Schritt 3Kopieren Sie den Ausdruck und fügen Sie ihn in das Feld "Regulärer Ausdruck" ein.

Schritt 4Wählen Sie unten die Option "Match All", und klicken Sie auf "Match".

 

 

Wenn Sie Probleme bei der Datenextraktion haben, oder uns etwas Vorschlägen geben möchten, kontaktieren Sie bitte uns per E-Mail (support@octoparse.com). 💬

 

Autor*in: Das Octoparse Team ❤️

 Octoparse Data Crawler Vorlagen Markt

Diese Website verwendet Cookies um Ihnen ein besseres Internet-Erlebnis zu ermöglichen. Lesen Sie wie wir Cookies verwenden und Sie können sie kontrollieren, indem Sie auf Cookie-Einstellungen klicken. Wenn Sie die Website weiter nutzen, akzeptieren Sie unsere Verwendung von Cookies.
Akzeptieren Ablehnen