HTML Inhalt zwischen tags regex

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von caesar94.

    HTML Inhalt zwischen tags regex

    Hallo Boardies,

    ich möchte mit Regex den Inhalt zwischen folgenden Zeichen auslesen.

    HTML-Quellcode

    1. alt="gesuchter Inhalt"

    Webrequest usw. klappt einwandfrei, brauche nur Hilfe bei der Expression.
    Wie muss der Expression String lauten?

    Vielen Dank.
    Also gehen wir von folgendem String aus

    HTML-Quellcode

    1. unnützer html code alt="gesuchter Content" unnützer html code

    Der RegEx cutted den String im Moment nur am Anfang, spuckt also folgenden Match aus

    VB.NET-Quellcode

    1. gesuchter Content" unnützer html code

    Es soll aber das rauskommen

    VB.NET-Quellcode

    1. gesuchter content

    Außerdem erkennt er nur den ersten treffer und ignoriert die anderen, behauptet also es würde nur 1 Match geben.

    Vielen Dank.
    Ich poste am besten einfach mal meinen ganzen code

    VB.NET-Quellcode

    1. Public Function GetCharts(ByVal website As String) As DataTable
    2. Dim Request As HttpWebRequest = HttpWebRequest.Create(website)
    3. Dim Charttable As DataTable = New DataTable
    4. Dim Response As HttpWebResponse = Request.GetResponse()
    5. Dim Reader As StreamReader = New StreamReader(Response.GetResponseStream)
    6. Dim Content As String = Reader.ReadToEnd()
    7. Dim HTMLTag As String = "(?<=alt="").*(?="")"
    8. Dim Regex As Regex = New Regex(HTMLTag, RegexOptions.Compiled Or RegexOptions.IgnoreCase)
    9. Dim Matches As MatchCollection = Regex.Matches(Content)
    10. For Each OMatch As Match In Matches
    11. Charttable.Rows.Add(OMatch)
    12. Next
    13. Return Charttable
    14. End Function
    Der Code bringt mir eigentlich nichts, denn dadurch bekomme ich auch nicht deine genauen Umstände. Du müsstest vielleicht mal einen längeren Ausschnitt aus dem HTML-Text posten, dann kann ich das womöglich nachvollziehen.
    Ansonsten kann ich nur sagen, dass das Pattern bei mir funktioniert. Was du höchstens noch probieren könntest, wäre, ein Fragezeichen mit reinzubringen:

    VB.NET-Quellcode

    1. "(?<=alt="").*?(?="")"
    Das macht im RegExTester keinen unterschied, aber vielleicht hilfts ja. Ich hab nämlich immer noch nicht so ganz genau verstanden, wann man jetzt das Fragezeichen braucht und wann nicht.