Miriam Tolke: Regex

Beitrag lesen

Hi Cheatah,

danke für Deine Antwort!

Das sieht also so aus, als würde der Punkt hier wirklich nur als Punkt gelten.

in einer Zeichenklasse ist dem so, ja.

Gut, also geht das in PHP und Perl absolut gleich - das freut mich.

"1\0" und /([0-9\]+)/      # Fehler

Nein, kein Fehler. Ich glaube, Du hast ein grundsätzliches Syntax-Problem.

Ich habe unten mal meinen Code gepostet, ich kann da leider nix finden. Wenn Du mich auf meinen Fehler aufmerksam machen könntest, wäre das toll.

Also alles in allem recht inkonsistent.

Eigentlich ist es bei Perl sehr einfach, im Gegensatz zu vielen anderen Sprachen, in denen man noch zusätzlich innerhalb der Quotes escapen muss etc.

Naja, alle Zeichen verlieren ihre Sonderwirkung, nur der Backslash nicht, das finde ich halt inkonsistent.

Was ist jetzt also Sache und wie kann ich einen Backslash als Backslash schreiben?

"\"

Hmm, anscheinend nicht. Was ich jetzt durch rumprobieren rausgefunden habe ist, daß es mit "\" funktioniert, mit zweien aber nicht!

Hier mein ganzer Code - zum Ausprobieren:
<?php
 $teststring = "1\0";
 echo("<p>$teststring:".$teststring."</p>");

if(preg_match("/([0-9\]+)/", $teststring, $arr))
 {
  echo($arr[1]."<br>");
 }
 else
  echo "Fehler";
?>

Ciao,
Miriam