Reguläre Ausdrücke Gruppen ausgeben

  • Allgemein

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Kangaroo.

    Reguläre Ausdrücke Gruppen ausgeben

    Hallo,

    ich habe mir viele Tutorials zum Thema Reguläre Ausdrücke durchgelesen (habe dabei auch viel zum laufen gebracht). Derzeit versuche ich in einem HTML Quellode die Links rauszusuchen

    Pattern:
    Hierbei soll mir nur der Link ausgegeben werden und der rest nicht. Kann mir vielleicht einer mit einer funktion helfen die mir hilft das heraus zu filern was ich möchte.

    Da es viele Links sind bitte in einem Array oder sowas ich suche nicht nach einem geziehltem Link

    Vielen Dank

    Regex Groups ausgeben

    Hallo,

    ich habe einen HTML Quellcode (Siehe Anhang). Aus diesem Quellcode will ich die Links auslesen dafür wennde ich den Regulären Ausdruck <a\shref="(\S*)"
    an. Ziel soll es sein das nur die Links ausgegeben werden ich lese derzeit die matches.values aus. Der link müsste ja in einer Group sein durch die klammern wie kann ich diese ausgeben? Ich will also Reguläre ausdrücke anwenden und das in den klammern gruppierte ausgeben. Über hilfe würde ich mich sehr freuen

    *Topics zusammengeführt. Bitte demnächst nur einen Thread pro Thema!*
    Dateien
    • Quelltext.txt

      (1,32 kB, 168 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Du hast den schwierigsten Teil der Regular Expression , nämlich die Pattern, ja schon mitgeliefert. Der Rest ist ziemlich einfach -> Regex.Matches-Methode (String)

    VB.NET-Quellcode

    1. Dim quelltext = My.Computer.FileSystem.ReadAllText("d:\quelltext.txt")
    2. Dim pattern As String = "<a\shref=""(.*?)"""
    3. For Each m As Match In Regex.Matches(quelltext, pattern)
    4. messagebox.show(string.format("gefunden: {0}", m.Groups(1).Value))
    5. Next


    Mit dem * Operator wäre ich übrigens immer sehr vorsichtig, da er nicht den 'kleinsten' möglichen Treffer zurückgibt (=lazy) , sondern den grösstmöglichen (=greedy).