*Markus: Probleme mit regulärem Ausdruck

Beitrag lesen

Hallo,

Ich habe folgenden String:

  
$string = 'S;Die Marke;M;HGFR/5646;98674537887;Das ist ein Test';  

Ich möchte, dass im letzten Abschnitt "Das ist ein Test" ein Strichpunkt erlaubt ist, aber nur dann, wenn er "escaped" wird, also ;

So sollte es nicht funktionieren:

  
$string = 'S;Die Marke;M;HGFR/5646;98674537887;Das ist ;ein Test';  

Dieser Suchausdruck liefert aber auch TRUE, wenn der Strichpunkt als solcher in den Text geschrieben wird ohne, dass er escaped wird:

  
/^[A-Za-z];[\w\-\s]+;[MFUKmfuk];[\w\s\/]+;[\d]*?;[(?:\;)\w\s,\.\/äöüÄÖÜß]+$/  

Und zwar geht es um den Teil mit der Klammer: (?:;)
Ich habe schon versucht, (?:\;) zu schreiben, aber dennoch liefert der o.g. String TRUE. Ich sehe außer der Klammer keine Möglichkeit zu sagen, dass ein Strichpunkt nur dann in dem Text erlaubt ist, wenn ein Backslash vorangestellt wurde. Was mache ich falsch?

Markus