2017-06-06 1 views
2

Wir verwenden reguläre Ausdrücke, um Jobs in unseren Ansichten für Jenkins einzuschließen. Im Moment ist der reguläre Ausdruck für die "Beispiel" -Ansicht example_(.+).Jenkins-Jobs von der Ansicht mit regulärem Ausdruck ausschließen

Wir haben jedoch gerade ein neues Projekt mit dem Namen "example_example2" hinzugefügt und nun erscheinen die Jobs aus diesem Projekt auch in der "example" Ansicht. Gibt es einen regulären Ausdruck, um die "example_example2" -Jobs von der "example" -Version auszuschließen? Ich habe versucht, ^ aber keinen Erfolg zu verwenden.

Können Sie mir helfen?

+0

Versuchen Sie 'Beispiel _ (? Beispiel2 $) (. +)'. –

Antwort

3

können Sie example_ passen nicht gefolgt mit example2 mit dem Ende der Zeichenfolge Position folgte eine negative Vorschau mit:

example_(?!example2$)(.+) 
     ^^^^^^^^^^^^^ 

Im Fall, dass Sie das Muster zu verankern hinzufügen ^ am Start. .+ werden alle 1 oder mehrere Zeichen außer Zeilenumbruch Zeichen bis zum Ende der Zeile übereinstimmen.

Siehe die regex demo online.

+0

Hey, danke für deine Antwort und die Regex-Demo. Ich habe den Ausdruck auf 'example _ (?! example2. + $) (. +)' Erweitert, um example_example2_example3 ebenfalls auszuschließen. Laut der Demo sollte es funktionieren. Leider scheint es in Jenkins nicht zu funktionieren. Irgendwelche Ideen? EDIT: Nevermind, ich musste nur die Kontrollkästchen für die Jobs in der Ansicht deaktivieren. Danke für Ihre Hilfe! – RobCo

+1

Um zu vermeiden, dass ein String mit 'example2' hinter' example_' steht, können Sie einfach das '$' in meinem Regex entfernen: 'example _ (?! example2) (. +)'. Sie sagen, dass es in * Regular Expression Job Filter * nicht übereinstimmt? Ist 'example_' am Anfang der Eingabe? Setze das Muster mit '. *' Voran. –

+0

> Um zu vermeiden, dass eine Zeichenfolge mit example2 nach example_ übereinstimmt, können Sie einfach das $ in my regex: example _ (?! example2) (. +) Entfernen. Stimmt, danke. – RobCo

Verwandte Themen