hi,
ich hab ein mehr oder weniger großes Problem
Normal sollte ja die Schreibweiße der Regulären Ausdrücke in den meißten Programmiersprachen gleich sein, oder? (hoffe ich mal)
Mir ist aufgefallen, dass Javascript diese Ausdrücke anders Handhabt als PHP, denn:
Funktioniert so wie ich es will
aber das selbe in JS geht nicht:
Mach ich einen Fehler, oder JS???
Das Problem kommt nur wenn ich versuche den vorderen Teil zu negieren.
in meinen Unterlagen zu Regulären Audrücken steht ein Beispiel für eine solche negierung:
Man beachte das Größerzeichen (..?<!...)
Wenn ich versuche dies 1zu1 in JS auszuführen, gibt er mit einen Syntaxfehler im Regulären Ausdruck zurück, PHP hat damit jedoch keine Probleme. woran liegt das??
Ich habe JS mit dem IE 6.0, Opera 7 und 8 getestet ->negativ
jedoch mit PHP und dem Regex Coach ging alles wunderbar
Ich hoffe mir kann da jemand helfen
Phil
ich hab ein mehr oder weniger großes Problem
Normal sollte ja die Schreibweiße der Regulären Ausdrücke in den meißten Programmiersprachen gleich sein, oder? (hoffe ich mal)
Mir ist aufgefallen, dass Javascript diese Ausdrücke anders Handhabt als PHP, denn:
PHP-Code:
<?php
$str = "10301520";
$str = preg_replace("/(?!<[0-9]{2}:[0-9]{2})([0-9]{2})([0-9]{2})/i", "$1:$2", $str);
echo $str
//Ausgabe: 10:3015:20
?>
aber das selbe in JS geht nicht:
PHP-Code:
var1 = "10301520";
var1 = var1.replace(/(?!<[0-9]{2}:[0-9]{2})([0-9]{2})([0-9]{2})/ig, "$1:$2");
alert(var1);
//Ausgabe: 10:30:15:20
Das Problem kommt nur wenn ich versuche den vorderen Teil zu negieren.
in meinen Unterlagen zu Regulären Audrücken steht ein Beispiel für eine solche negierung:
PHP-Code:
/(?<!text1)text2/
Wenn ich versuche dies 1zu1 in JS auszuführen, gibt er mit einen Syntaxfehler im Regulären Ausdruck zurück, PHP hat damit jedoch keine Probleme. woran liegt das??
Ich habe JS mit dem IE 6.0, Opera 7 und 8 getestet ->negativ
jedoch mit PHP und dem Regex Coach ging alles wunderbar
Ich hoffe mir kann da jemand helfen
Phil
Kommentar