Stefan Welscher: [Regex]Zeichenketten verbieten

Beitrag lesen

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...