Inhalt der ERSTEN eckigen Klammer mit RegEx auslesen

  • VB.NET

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

    Inhalt der ERSTEN eckigen Klammer mit RegEx auslesen

    Hallo zusammen,
    ich habe ein mehr oder weniger großes Problem mit RegEx:
    Ich habe einen Text, in dem an jedem Zeilenanfang Datum und Uhrzeit stehen, danach kommt Text.
    [18.12.2011 21:45:32] Hier kommt der Text!
    Datum und Uhrzeit auszulesen funktioniert mit "\[(.*)\]" ja ganz gut, wenn allerdings im Text nach dem Zeitstempel am Anfang weitere eckige Klammern verwendet werden, liest RegEx den Text von der Klammer auf des Zeitstempels bis zur letzten Klammer zu:
    [18.12.2011 21:48:45] Hier kommt der Text, welcher [eckige Klammern] enthält

    Gibt es eine Möglichkeit, dass RegEx nur den Inhalt der ersten Klammer ausliest? Ich habs schon mit "\[[^\[\]]\]" versucht, das hat aber leider auch nicht geklappt :(

    Vielen Dank im Vorraus
    leolabs
    Hey.

    Muss es unbedingt RegEx sein?
    Bei solch einfachen Aufgaben kommt man eigentlich sehr gut mit den normalen String-Funktionen wie Split() zurecht.
    och naja.
    Vlt. will er noch weitere Analysen auf dem Text durchführen, entweder mit einem anneren Regex, oder er entwickelt diesen weiter oder sowas.
    auch die Benutzung von diesem hier ist doch jetzt netter: Ein Aufruf, und er kann eine ganze Datei voll mit solchen Datensätzen parsen, und kriegt halt genau diese Werte ausgespuckt, ohne weitere Nacharbeiten.

    Ich nehm auch eher zuviel Regex als zuwenig, weil wenn ich mehrere Sachen brauch, dann mag ich nicht mit den beiden unterschiedlichen Technologien worken, sondern - weil für die eine eben Regex unabdingbar ist, nehme ichs auch gleich für die nächste.
    Stimmt allerdings auch, das String.Split in seiner Leistungsfähigkeit oft unterschätzt wird. Und - wenns hinreicht - ists meist auch leichter verständlich und schneller entwickelt.

    OT: Was mich grad voll fasziniert ist, dass Regex offenbar komplett von einem einzigen Mathematiker ausgedacht wurde, der damit gewissermaßen eine komplette und perfekte Sprache aus der Tasche zog, der in wasweißich 50 Jahren nichts hinzuzufügen war.
    Und gewissermaßen eher ein Nebenprodukt seiner Tätigkeit.

    Also Hirn ist echt ungerecht verteilt inne Welt ;(