Guten Morgen,
ich habe da ein RegEx-Problem, dass ich dummerweise nicht gelöst bekomme, obwohl ich mir vorstellen kann, dass es gar nicht so schwer ist.
Folgende Zeile habe ich in einer Datei:
[m(B 88 root 15 0 0 0 0 S 0.0 0.0 0:00.03 pdflush [m(B[39;49m
Der Benutzer des Skripts (es ist Perl 🙂), darf jetzt das Kommando eingeben, nach dem er suchen möchte (ist in diesem Fall pdflush) und dann soll die Prozess-ID (in diesem Fall die 88 ganz am Anfang) ausgegeben werden.
Mein RegEx sah bis jetzt so aus:
(\\d+).pdflush
Leider matched er dann auf die 3, die direkt links neben pdflush steht. Ich habe gerade überhaupt keine Idee, wie ich das matchen könnte.
Könnt ihr mir helfen?
Danke und Gruß,
Fabian
P.S.: Der RegEx ist hier ausreichend, da ich Perl benutzen muss und mir die C# Klassen ja nicht weiterhelfen 🙂 (bzw. mir auch bekannt sind).
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hallo Fabian,
tja, ist immer die Frage, worauf man sich verlassen kann.
Wenn die PID sicher immer die erste Zahl in der Zeile ist, dann z.B. mit
^[\d]*\d+.*pdfflush
Wenn die PID immer in Spalte 11 beginnt (was unwahrscheinlich ist), dann z.B. mit
^.(10)\d+.*pdfflush
herbivore
Original von herbivore
Hallo Fabian,tja, ist immer die Frage, worauf man sich verlassen kann.
Wenn die PID sicher immer die erste Zahl in der Zeile ist, dann z.B. mit
^[\d]*\d+.*pdfflush
Wenn die PID immer in Spalte 11 beginnt (was unwahrscheinlich ist), dann z.B. mit
^.(10)\d+.*pdfflush
herbivore
Hallo herbivore,
danke für Deine Hilfe! Ich hab es jetzt mit folgendem RegEx gemacht:
([\d]*\d+).*pdflush
Das matched genau auf die PID und stellt mir das Ergebnis als Gruppe 1 zur Verfügung.
Eine Frage habe ich jetzt aber noch an Dich: Kannst Du mir das [\d]*\d+ erklären? Was \d bzw. \d+ bedeutet ist klar, aber warum zweimal und mit dem *? So ganz versteh ichs noch nicht.
Danke und Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hallo Fabian,
sorry, war ein Fehler. sollte
[\d]*\d+.*pdfflush
heißen, bzw.
[\d]*(\d+).*pdfflush
um an die PID zu kommen.
herbivore