3Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
264
264
EMPFEHLEN
-
06.12.09 00:37 #1
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hi
ich habe mich in letzter Zeit öfters mit regulären Ausdrücken beschäftigt und schätze mich mittlerweile recht fit ein. Nur habe ich eine Frage zu einer bestimmten Syntax, die zumindest bei nicht zu funktionieren scheint:
Meiner Meinung sollte es so ablaufen. Es wird eine Zahl (\d) gesucht. Anschließend muss eine weitere Zahl folgen(\d) und dann noch die Zahl, die ganz zu Anfang gefunden wurde (\1). Allerdings scheint das \1 nicht zu funktionieren, jedenfalls enthält "matches" keinen "match" :-/PHP-Code:$string = "101";
$pattern = "/(\d)\d\1/";
preg_match_all($pattern,$string,$matches);
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
06.12.09 00:51 #2
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Versuch es mal, nachdem du das Pattern in einfache Anführungszeichen gesetzt hast. Ich habe es gerade mit dem RegEx-Tester ausprobiert und es funktioniert ohne Probleme.
Code-Beispiel:
Code PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<?php error_reporting(E_ALL); // Text bzw. String der durchsucht werden soll $string = <<<EOF 101 EOF; // das Suchmuster mit Delimiter und Modifer (falls vorhanden) $pattern = '/(\d)\d\1/'; // RegEx mit preg_match_all() auswerten preg_match_all($pattern, $string, $array); // formatierte Ausgabe echo '<pre>', print_r($array, true), '</pre>'; ?>
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
06.12.09 01:01 #3
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hi
was ein Mist, mit einfachen Anführungszeichen funktionierts tatsächlich. Danke
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
Folgende Varianten funktionieren:
Code :1 2
$pattern = [B][SIZE="4"][COLOR="Red"]'[/COLOR][/SIZE][/B]/(\d)\d\1/ [B][SIZE="4"][COLOR="Red"]'[/COLOR][/SIZE][/B]; $pattern = "/(\d)\d [B][SIZE="4"][COLOR="Red"]\\[/COLOR][/SIZE][/B]1/";
Dein Versuch scheitert wie erwähnt an den doppelten Anführungzeichen, weil dort der String vorher durch PHP ausgwertet wird.
Die Escape-Sequenz wird dir dort das ASCII-Zeichen mit dem Wert 1 liefern(irgendein Steuerzeichen).
Kurzer Test:
Code :1 2 3 4
$string = "10".[B]chr(1)[/B]; $pattern = "/(\d)\d\1/"; preg_match_all($pattern,$string,$matches); print_r($matches);
-
06.12.09 11:08 #5
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hey
Danke dass du das nochmal getestest/gewusst hast
Find ich persöhnlich noch besser, da ich für Strings lieber die doppelten Anführungszeichen nehme
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
06.12.09 11:26 #6
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Ich würde bei Zeichenketten, insofern es nicht unbedingt notwendig ist, immer einfache Anführungszeichen nutzen, denn in diesen wird der Inhalt nicht interpretiert, was im Endeffekt auch noch die Auslastung senkt. Zwar nur gering, aber immerhin.
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
Ähnliche Themen
-
Explode mit regulären Ausdrücken
Von bauchinj im Forum PHPAntworten: 1Letzter Beitrag: 07.10.10, 14:28 -
URL-Überprüfung mit regulären Ausdrücken
Von Online-Skater im Forum PHPAntworten: 16Letzter Beitrag: 11.03.10, 10:38 -
Suche mit Regulären ausdrücken
Von liquidbeats im Forum PHPAntworten: 6Letzter Beitrag: 03.07.06, 23:30 -
Problem mit Regulären Ausdrücken
Von forsterm im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 26.02.06, 00:59 -
Variablen in Regulären Ausdrücken
Von MRanderath im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 23.08.01, 18:19





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren