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

- Schritt1: 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:
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 3: Kopieren Sie den Ausdruck und fügen Sie ihn in das Feld “Regulärer Ausdruck” ein.
- Schritt 4: Wä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 ❤️
