Nochmal ein Codeschnipsel zum Veranschaulichen:
[code lang=perl]while (<DATA>) {
chomp($_);
if ($_ =~ /^String1-(?!(Foo|Blub|Laber)-).+?-String3-String4$/ ) {
print "$.: $_ - matched\n";
}
else {
print "$.: $_ - not matched\n";
}
}
Noch nicht ganz.... was bedeutet das zweite Fragezeichen (.+?)
Ist das Fragezeichen ein Begrenzer für das abzusuchende Feld oder wie? Ich bin grad wieder wie wild am rumprobieren, aber noch hab ich nichts funktionierendes gefunden...