RegEx mehrere Zeilen HTML

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von nafets3646.

    RegEx mehrere Zeilen HTML

    Hallo Leute ich hab bereits hier im Forum gefunden und mich mit RegEx beschäftigt nun folgendes Problem :

    Ich habe nun diesen Source als String :

    HTML-Quellcode

    1. <tr>
    2. <td class="alt1" id="td_threadstatusicon_2596346">
    3. <img src="http://cdn.elitepvpers.org/forum/images/elitepvpers/statusicon/thread_hot.gif" id="thread_statusicon_2596346" alt="" border="" />
    4. </td>
    5. <td class="alt2">&nbsp;</td>
    6. <td class="alt1" id="td_threadtitle_2596346" title="">
    7. <div>
    8. <span style="float:right">
    9. <img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/misc/tag.png" alt="psn" />
    10. <a href="http://www.elitepvpers.com/forum/gaming-news-de/#" onclick="attachments(2596346); return false"> <img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/misc/paperclip.gif" border="0" alt="1 Attachment(s)" /></a>
    11. </span>
    12. <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt.html" id="thread_title_2596346">PSN: Hacker zu High-School Abschluss verurteilt!</a>
    13. <span class="smallfont" style="white-space:nowrap">(<img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/misc/multipage.gif" alt="Multi-page thread" border="0" /> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt.html">1</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt-2.html">2</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt-3.html">3</a> ... <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt-15.html">Last Page</a>)</span>
    14. </div>
    15. <div class="smallfont">
    16. <span style="cursor:pointer" onclick="window.open('http://www.elitepvpers.com/forum/members/3749006-hupfi10.html', '_self')">Hupfi10</span>
    17. </div>
    18. </td>
    19. <td class="alt2" title="Replies: 145, Views: 6,575">
    20. <div class="smallfont" style="text-align:right; white-space:nowrap">
    21. Today <span class="time">13:40</span><br />
    22. by <a href="http://www.elitepvpers.com/forum/members/1850374-darkteufel123.html" rel="nofollow">darkteufel123</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2596346-psn-hacker-zu-high-school-abschluss-verurteilt-15.html#post22744393"><img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/elitepvpers/buttons/lastpost.gif" alt="Go to last post" border="0" /></a>
    23. </div>
    24. </td>
    25. <td class="alt1" align="center">145</td>
    26. <td class="alt2" align="center">6,575</td>
    27. </tr><tr>
    28. <td class="alt1" id="td_threadstatusicon_2582462">
    29. <img src="http://cdn.elitepvpers.org/forum/images/elitepvpers/statusicon/thread_hot.gif" id="thread_statusicon_2582462" alt="" border="" />
    30. </td>
    31. <td class="alt2">&nbsp;</td>
    32. <td class="alt1" id="td_threadtitle_2582462" title="">
    33. <div>
    34. <span style="float:right">
    35. <a href="http://www.elitepvpers.com/forum/gaming-news-de/#" onclick="attachments(2582462); return false"> <img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/misc/paperclip.gif" border="0" alt="1 Attachment(s)" /></a>
    36. </span>
    37. <a href="http://www.elitepvpers.com/forum/gaming-news-de/2582462-wolfenstein-new-order-bethesda-titel-erscheint-noch-2013-a.html" id="thread_title_2582462">Wolfenstein: The New Order - Bethesda Titel erscheint noch 2013</a>
    38. <span class="smallfont" style="white-space:nowrap">(<img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/misc/multipage.gif" alt="Multi-page thread" border="0" /> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2582462-wolfenstein-new-order-bethesda-titel-erscheint-noch-2013-a.html">1</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2582462-wolfenstein-new-order-bethesda-titel-erscheint-noch-2013-a-2.html">2</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2582462-wolfenstein-new-order-bethesda-titel-erscheint-noch-2013-a-3.html">3</a>)</span>
    39. </div>
    40. <div class="smallfont">
    41. <span style="cursor:pointer" onclick="window.open('http://www.elitepvpers.com/forum/members/3521986-marcoly.html', '_self')">Marcoly</span>
    42. </div>
    43. </td>
    44. <td class="alt2" title="Replies: 29, Views: 1,268">
    45. <div class="smallfont" style="text-align:right; white-space:nowrap">
    46. Today <span class="time">05:16</span><br />
    47. by <a href="http://www.elitepvpers.com/forum/members/2377093-elektrochemie.html" rel="nofollow">Elektrochemie</a> <a href="http://www.elitepvpers.com/forum/gaming-news-de/2582462-wolfenstein-new-order-bethesda-titel-erscheint-noch-2013-a-3.html#post22741008"><img class="inlineimg" src="http://cdn.elitepvpers.org/forum/images/elitepvpers/buttons/lastpost.gif" alt="Go to last post" border="0" /></a>
    48. </div>
    49. </td>
    50. <td class="alt1" align="center">29</td>
    51. <td class="alt2" align="center">1,268</td>
    52. </tr><tr>.....


    Und so geht das nun noch 10 - 20 mal weiter.
    Also jeder Abschnitt den ich auslesen möchte beginnt mit <tr> und hört auf mit </tr>.
    Ich habe es mit folgendem RegEx-Pattern versucht :

    Quellcode

    1. <tr>(.*?)</tr>


    bzw.

    VB.NET-Quellcode

    1. Dim r As New Regex("<tr>(.*?)</tr>")
    2. Dim matches As MatchCollection = r.Matches(SOURCE)

    leider ohne Erfolg also er findet keine Matches , kann mir jemand weiterhelfen

    LG Graphic
    Du musst alle Zeilenumbrüche aus dem String entfernen.

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Text.RegularExpressions
    3. Public Class Form1
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Dim input As String = IO.File.ReadAllText("C:\Users\Alexander\Desktop\testa.txt")
    6. input = input.Replace(Environment.NewLine, "") 'Hier wichtig
    7. Dim r As New Regex("<tr>.(.*?)</tr>")
    8. Dim matches As MatchCollection = r.Matches(input)
    9. For Each m As Match In matches
    10. MessageBox.Show(m.ToString())
    11. Next
    12. End Sub
    13. End Class
    Irgendwie finde ich den Thread net xD.
    Aber zu deinem Problem: Ich würde es mal mit RegExOptions.Singleline versuchen, damit klappts bei mir zumindest im RegExTester von ErfinderDesRades.