Email Adressen Filtern und einsortieren

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von [Blu].

    Email Adressen Filtern und einsortieren

    Hi,
    ich habe eine Große mysql datenbank mit mehreren seiten im aufbau

    312 username blablabla email@provider.ltd 1 blablabla 0

    312 username blablabla email@provider.ltd 1 blablabla 0
    312 username blablabla email@provider.ltd 1 blablabla 0
    312 username blablabla email@provider.ltd 1 blablabla 0

    usw. dies erstreckt sich auf mehrere seiten.
    Meine frage ist währe es möglich ein programm zu machen wo ich zb auf seite [1] (auf der website) klicke und dann einen button ind der VB form welches JEDE email im text dokument ausließt?

    Meine paint skizze:




    Grabbutton soll alles aus webbrowser1 grabben was im formt email@provider.ltd ist bzw Maxmustermann@gmx.de


    Bitte nicht gleich kritik an meinen mangelnden vb kenntnissen ausdrücken :P

    [blu]
    Hi danke für deine antwort ich kann den regex thread auch für zukünftige dinge sehr gut gebrauchen! :)

    Einziges problem ich habe versucht den code



    Dim Input As String = TextBox1.Text
    Dim Res() As String
    ListBox1.Items.Clear()






    Res = Regex.Split(Input, "[a-zA-Z0-9|a-zA-Z0-9\.]+\@[a-zA-Z0-9|a-zA-Z0-9\-]+\.[com|de|net|mu]+", RegexOptions.IgnoreCase)
    For Each el As String In Res
    ListBox1.Items.Add(el.ToString)
    Next



    alles rauszufiltern außer die emails, aber leider filtert er die emails raus und nicht das was weg soll :P
    nun habe ich probiert den code irgentwie rumzuwerfen dass es andersrum geht aber anscheinend ist es einfach zu spät oder ich bin zu dumm dafür ^^

    naja ich möchte wie gesagt aus ganz viel text die emails raus
    LG

    (sorry vb tags gehen bei mir nie wirklich :wacko: )
    myregextester.com/

    das dingens is so nett und spuck dir sogar den code aus^^

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Raw Match Pattern:
    2. [a-zA-Z0-9|a-zA-Z0-9\.]+\@[a-zA-Z0-9|a-zA-Z0-9\-]+\.[com|de|net|mu|ldt]+
    3. VB.NET Code Example:
    4. Imports System.Text.RegularExpressions
    5. Module Module1
    6. Sub Main()
    7. Dim sourcestring as String = "replace with your source string"
    8. Dim re As Regex = New Regex("[a-zA-Z0-9|a-zA-Z0-9\.]+\@[a-zA-Z0-9|a-zA-Z0-9\-]+\.[com|de|net|mu|ldt]+")
    9. Dim mc as MatchCollection = re.Matches(sourcestring)
    10. Dim mIdx as Integer = 0
    11. For each m as Match in mc
    12. For groupIdx As Integer = 0 To m.Groups.Count - 1
    13. Console.WriteLine("[{0}][{1}] = {2}", mIdx, re.GetGroupNames(groupIdx), m.Groups(groupIdx).Value)
    14. Next
    15. mIdx=mIdx+1
    16. Next
    17. End Sub
    18. End Module
    19. Matches Found:
    20. [0][0] = email@provider.ltd
    21. [1][0] = email@provider.ltd
    22. [2][0] = email@provider.ltd
    23. [3][0] = email@provider.ltd
    Ich will nicht nur datenbanken grabben sondern ein programm schreiben was nach keywords auf meiner eigenen seite sucht und deren emails ausliehst!
    LG


    //Edit
    wenn ich folgenden code nutze

    VB.NET-Quellcode

    1. Dim sourcestring As String = TextBox1.Text
    2. Dim re As Regex = New Regex("[a-zA-Z0-9|a-zA-Z0-9\.]+\@[a-zA-Z0-9|a-zA-Z0-9\-]+\.[com|de|net|mu|ldt]+")
    3. Dim mc As MatchCollection = re.Matches(sourcestring)
    4. Dim mIdx As Integer = 0
    5. For Each m As Match In mc
    6. For groupIdx As Integer = 0 To m.Groups.Count - 1
    7. Grabbm.ListBox1.Items.Add(mIdx, re.GetGroupNames(groupIdx), m.Groups(groupIdx).Value)
    8. Next
    9. mIdx = mIdx + 1
    10. Next


    krieg ich einen fehler wegen zu vielen argumenten!
    grabbm ist hierbei die form in der sich die listbox befindet!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „[Blu]“ ()

    sollte so gehen, habs aber nicht getestet


    edith verrät auch warum:

    du versuchst beim hinzufügen zur listbox 3 argumente zu übergeben mIdx
    re.GetGroupNames(groupIdx)
    m.Groups(groupIdx).Value

    und was will listbox.items.add haben? kommste selbst drauf oder?^^



    VB.NET-Quellcode

    1. Dim sourcestring As String = TextBox1.Text
    2. Dim re As Regex = New Regex("[a-zA-Z0-9|a-zA-Z0-9\.]+\@[a-zA-Z0-9|a-zA-Z0-9\-]+\.[com|de|net|mu|ldt]+") 'ob du dieses ldt brauchst weil ich ned, habs zum testen reingeschmissen
    3. Dim mc As MatchCollection = re.Matches(sourcestring)
    4. For Each m As Match In mc
    5. For groupIdx As Integer = 0 To m.Groups.Count - 1
    6. Grabbm.ListBox1.Items.Add(m.Groups(0).Value)
    7. Next
    8. Next

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „joschi240“ ()

    Leider gehts immer noch nicht :(
    Es wird ein leeres item zur listbox hinzugefügt

    ich adde euch mal meinen source falls ihr vorschläge oder das selbe problem habt, oder euch einfach nur für interessiert :)

    ~[blu]
    Dateien
    • GrabMail.zip

      (61,81 kB, 175 mal heruntergeladen, zuletzt: )