Regex match ausschließen

Hallo zusammen,

zu meinen Problem:

Ich decke gerade per Regex Systeme ab um denen Labels zu zuweisen. Darauf beziehe ich mich auf DNS Namen.

Die Kontaktgruppen weise ich ebenfalls dann per Labels zu.
Jetzt habe ich das Problem das nicht alle DNS Namen mit den Label versehen werden sollen.
Sprich ich habe SQL Server, die ich per ~.*SQL.* mit einem Label versehe, allerdings es einen SQL Server gibt der nicht dazu gehören soll.
Ich habe bereits ein Ausschluss versucht mit : ~(?:SQLTEAM2-01) und ~(?!SQLTEAM2-01) damit diese Server nicht das “SQL Label” erhält. Dies funktioniert leider nicht. Gibt es weitere Lösungsansätze oder habe ich das Regex falsch verwendet?

Liebe Grüße

Hallo Simon,

Leider habe ich Dein Problme nicht verstanden. Lies Dir mal Deinen Post nichmal durch und versetz Dich in die Lage von jemanden der null Ahnung von Deiner Umgebung und Deinem Anliegen hat :wink:

Generell denke ich bist Du mit einem negative lookahead auf der richtigen spur.

Evtl. hilft dir das weiter:

Du kannst da nicht weitere Eingabe-Felder nutzen, um den negative Lookahead zu haben. Das muss alles in einer Regex eingebaut sein. Sonst hast Du bereits mit .*SQL.* den Match.
Die einzelnen Felder bei “Explizit Hosts” sind oder-verknüpft.

1 Like

Hey Robert,

das ergibt Sinn… ~^(?!SQLExclude1$|SQLExclude2$).*sql.* funktioniert! Vielen dank :slight_smile:

1 Like

Moin,

also ich hab das so gebaut:

ORA((?!.*Job).*)

Durch die Verschachtelung kannst du hier alles ein- und ausschließen.