2016-07-22 8 views
0

Das Ziel, den Hostnamen CI-TEST-POC mit einem regulären Ausdruck in Puppet zu finden. Weder:Warum stimmt dieser reguläre Ausdruck in Puppet nicht überein?

if $hostname == /CI-(\[A-Z\]+)-POC/ { 
    notice("Welcome to web server number $1") 
} 

noch:

if $hostname =~ /CI-(\[A-Z\]+)-POC/ { 
    notice("Welcome to web server number $1") 
} 

Begegnungen. Warum passt dieser reguläre Ausdruck nicht in Puppet?

+1

Haben Sie versucht, einen Online-Regexp-Tester zu verwenden, z. https://regex101.com? –

+0

Versuchte es.^CI - ([A-Z] +) - POC $ scheint im Internet völlig in Ordnung zu sein. Aber kein Glück mit Marionettenschrift. – suj

+0

Okat hat es bekommen. wenn $ hostname = ~/^ CI - ([AZ] +) - POC $/{ Hinweis ("passt REGEXP XXX $ 1") } else { Hinweis ("DID-Matches REGEXP XXX") } – suj

Antwort

0

Okay, ich habe es.

if $hostname =~ /^CI-([A-Z]+)-POC$/ { 
    notice("matches REGEXP XXX $1") 
} else { 
    notice("DIDN'T matches REGEXP XXX") 
} 
+0

Bitte fügen Sie hinzu, um immer einen Regexp-Tester zu verwenden, wie von @AlexHarvey angezeigt, bevor Sie den eigentlichen Code erstellen. – 030

+1

Ihr Problem war also, dass Sie die Bedingungen falsch geschrieben haben, oder dass Sie die Regex falsch geschrieben haben, oder beides? –

+0

Hallo Matt, beide falsch – suj