[Regex] Zeile erfolgreich parsen

Cappaja

Erfahrenes Mitglied
Servus,

ich bekomme es nicht hin folgende Zeile so zu parsen, dass lediglich die Revision Nummer angezeigt wird.
Code:
   5129 User        46613 Jan 23 13:23 ROOT/Hysteresis/test_file.c
Mittels
Code:
[0-9]+
bekomme ich alle numerischen Werte, ich will aber nur den ersten, die 5129.
a) Wie schaffe ich es den Rest (alles nach 5129) auszublenden?
b) Wie schaffe ich es nur die Werte 5129 und 13:23 zu bekommen?

Ist für geübte Nutzer von regex denke ich schnell zu lösen ;)

Beste Grüße

Cappaja
 
Kommt auf die Applikation drauf an.

Aber etwa so könnte es gehen
Code:
^[ ]*([0-9]+)
^ Zeilenanfang
[ ]* Beliebige Anzahl Leerzeichen
() Auszugebendes Resultat
[0-9]+ Beliebige Anzahl Ziffern, mindestens Eine
 
Danke für die schnelle Antwort, das hatte zunächst leider auch nicht funktioniert.
Ich habe den regex bislang via SVN Kommandozeile über grep -o "regex" abgesetzt.
Habe jetzt eine Alternative mit egrep -o "regex" gefunden bei der es halbwegs funktioniert. Das Ende wird zwar abgeschnitten allerdings bleiben die Leerzeichen davor bestehen. Scheint ein spezifisches Problem zu sein, hat mir dennoch weitergeholfen, danke!
 
Hab mal aus langerweile bissel rumgespielt:
Code:
^\W+([0-9]+)\W+[^\W]+\W+[0-9]+\W+[a-zA-Z]+\W+[0-9]{1,2}\W+([0-9]{1,2}\:[0-9]{1,2})
Getestet mit der .Net Engine von regexlib.com

Um den 'User' (klingt nach als könnten hier später irgendwelche Nutzernamen auftauchen) auszuschließen und nicht unbedingt Sonderzeichen mit abhandeln zu müssen sind einfach alle nicht whitespace zeichen erstmal als treffer erlaubt [^\W]+

Ansonsten halt ganz primitiv:
1. Whitespace -> \W+
2. Zahl suchen (als match) -> ([0-9]+)
3. Whitespace -> \W+
4. alles was nicht whitespace ist ('user') -> [^\W]+
5. Whitespace -> \W+
6. irgend ne nummer -> [0-9]+
7. whitespace -> \W+
8. Monat -> [a-zA-Z]+
9. whitespace -> \W+
10. Tag -> [0-9]{1,2}
11 Whitespace -> \W+
12. Uhrzeit -> ([0-9]{1,2}\:[0-9]{1,2})


2: 5129 (Match)
4: User
6: 46613
8: Jan
10: 23
12: 13:23 (Match)
 
Zurück