Auslesen von Quellcode via RegEx Pattern mit Anführungszeichen funktioniert nicht?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Auslesen von Quellcode via RegEx Pattern mit Anführungszeichen funktioniert nicht?

    Hallo,

    ich habe ein kleines Problem beim Auslesen von HTML-Quellcode via RegEx-Pattern :)


    Habe mittlerweile schon ein wenig Erfahrung in VB.net gesammelt und stoße nun schon des häufigeren auf dieses Problem.

    Im Quellcode steht zB (also ein Teil des erfassten Strings):
    <a href="/hallo/1234567.html" title = "Hier der Titel">Link<span class="exx">4 stars</span></a>

    Nun möchte ich den Link und den Titel auslesen.
    mein pattern sieht so aus:
    "<a\shref=""\w+/\w+\.html""\stitle\s?=\s?""(.+)>"""

    Leider überssieht mein Pattern immer die Anführungsstriche nach dem .+ am Schluss bei (.+)>"""
    Ich habe schon gegrübelt und gehe davon aus, dass er es wegen dem Punkt einfach mitnimmt..
    Aber wenn ja, was hab iuch für eine Alternative?

    Wichtig ist noch zu sagen, dass sich der Schluss des Codes ab:
    Link<span class="exx">4 stars</span></a>
    ändern kann. Dort wird noch ein span eingesetzt.
    Sprich:
    <a href="/hallo/1234567.html" title = "Hier der Titel">Link<span class="exx">4 stars</span></a>
    wird zu
    <a href="/hallo/1234567.html" title = "Hier der Titel">Link<span class="irgendwass">irgendwass</span><span class="exx">4 stars</span</a>

    danke für die hilfe.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Massl0r“ ()

    also da du immerhin schon weißt, dass du RegEx verwenden solltest und schon etwas hingeschrieben hast, was nicht alles allzu schlecht ist, hab ich hier mal nen kleinen Pattern zusammengestellt:

    Quellcode

    1. "<a[^>]*href=""(?<HREF>[^""]*)""[^>]*title[^=]*=[^""]""(?<TITEL>[^""]*)[^>]*>(?<LINK>.*)</a>"

    dabei jedoch keine Gewähr...HREF, TITEL und LINK kannst du über die Gruppen auslesen;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    jvbsl schrieb:

    also da du immerhin schon weißt, dass du RegEx verwenden solltest und schon etwas hingeschrieben hast, was nicht alles allzu schlecht ist, hab ich hier mal nen kleinen Pattern zusammengestellt:

    Quellcode

    1. "]*href="http://www.vb-paradise.de/"(?[^""]*)""[^>]*title[^=]*=[^""]""(?[^""]*)[^>]*>(?.*)"

    dabei jedoch keine Gewähr...HREF, TITEL und LINK kannst du über die Gruppen auslesen;)
    Das funktioniert 1a :)
    Danke schön!

    Trozdem werde ich aus deinem Pattern noch nicht ganz schlau ?( Aber des wird schon!

    Wie ist es mit folgender Pattern ?


    <a\shref="\/\w+\/\w+\.html"\stitle\s?=\s?"(.+)>



    Dem "/" muss ein Delimiter vorgestellt werden.

    Einen Regex Tester gibt es übrigens hier


    Das mit dem Delmitier klappt auch :) Der Regextester is ja super!

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