josephusflavius
Goto Top

Systemname via REGEX extrahieren ohne Punkte

Hallo,

wir bekommen regelmäßig Monitoring-Meldungen, die auch den Systemnamen beinhalten.
Ich würde diese regelmäßig auswerten und diese mit REGEX extrahieren.

* Name....................Hintergrundjobfehler
* Startzeit...............14.02.2025 11:02:30 CET
* Endezeit................14.02.2025 11:02:30 CET
* Verwaltetes Objekt......SYSTEMNAME
* Typ des verwalteten Objekts...Technisches System
* Bewertung...............Gelb
* Kategorie...............Ausnahmen
* Status..................Offen

(?<=Verwaltetes Objekt).* 

liefert "......SYSTEMNAME"

Gibt es ein REGEX, was die Punkte nicht erfasst unabhängig davon, wie viele Punkte vorm SYSTEMNAME stehen?

Vielen Dank für eure Rückmeldung.

Jofla

Content-ID: 671367

Url: https://administrator.de/forum/systemname-via-regex-extrahieren-ohne-punkte-671367.html

Ausgedruckt am: 20.02.2025 um 19:02 Uhr

em-pie
em-pie 14.02.2025 aktualisiert um 12:16:52 Uhr
Goto Top
Moin,

Regexwäre sicherlich die eleganteste Lösung. Quick and Dirty aber sicherlich auch
var = var.Replace(".", "")  
(mal lösgelöst der verwendeten Sprache - das Prinzip sollte aber verstanden worden sein face-wink


Edit:

\.+(.*)
Dieser Regex sucht nach einer beliebigen Anzahl von Punkten (\.+) gefolgt von einer beliebigen Zeichenkette ((.*)). Die Klammern um .* sorgen dafür, dass nur der Teil nach den Punkten extrahiert wird.
Snuffchen
Lösung Snuffchen 14.02.2025 um 12:13:56 Uhr
Goto Top
Das ist einfach, würde wahrscheinlich auch eine der KI-Bots rauswerfen:
\.*(.+)
JosephusFlavius
JosephusFlavius 14.02.2025 um 12:20:59 Uhr
Goto Top
Vielen Dank für Euch,

so zusammen hat es funktioniert und nur SYSTEMNAME erfasst:

(?<=Verwaltetes Objekt)\.*(.+)
mediodia
mediodia 14.02.2025 aktualisiert um 13:46:35 Uhr
Goto Top
Und wenn man weiterhin ohne Submatches arbeiten will ginge auch
(?<=Verwaltetes Objekt\.+)[^.].*
Viele Wege führen wie immer nach Rom.