Regex Hilfe

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Nomates.

    Hallo,

    Ich habe eine Datei die gesplittet werden muss, aber weiß leider nicht wie ich anfangen muss.

    Hier ein Beispiel

    Quellcode

    1. Peter
    2. {
    3. Peters Funktion
    4. }


    Würde gern Peter Ausgeben und Peters Funktion auch.
    Kann mir da jemand helfen ?
    Falls du einen Compiler schreiben willst (danach sieht es aus), ist das der falsche Weg. Du investierst mit RegEx viel Aufwand in wenig Nutzen. Beschäftige dich lieber mit (Chomsky-)Grammatiken.

    Ansonsten: Entferne alle Whitespaces aus dem String und nimm die geschweiften Klammern als Anhaltspunkt:

    VB.NET-Quellcode

    1. s = Regex.Replace(s, "[\r\n]", "")
    2. Dim r As New Regex("(\w+){([\w\s]+)}")
    3. Dim m = r.Match(s)
    4. Dim first = m.Groups(1).Value
    5. Dim second = m.Groups(2).Value
    Gruß
    hal2000
    Willkommenn im Forum. :thumbup:
    Wenn (später einmal) Peters Funktion komplexer ist, einer Syntax gehorcht und wiederum Klammern aufweist, ist es sinnvoll, einen entsprechenden Parser zu bauen, der Dir zu einer öffnenden Klammer die kommunizierende schließende Klammer findet.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!