tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
277
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DannyP DannyP ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    20
    Hallo zusammen

    Ich komme derzeit irgendwie mit ein paar regulären Ausdrücken nicht klar.

    Diemit einem regulären Ausdruck zu zerlegenden Strings habend abei folgenden Aufbau:
    21.03.2007 20:52:04
    AAA AAA AA AAAAA xxxxxxxxx AAAAA xxxxxxx (yyyyyy) AAAAAA AAAAA AAAAA.
    AAA AAAA zzzzzzz AAAA xxxxxx AAAA xxxxxx AAAA AAAA xxxxx AAA xxxx (yyyyyy) AAAAAA.
    AAAA AAAA AAAA xxxxx (yyyy) AAA AAAA AAAAA AAAAA AAAA xxxxx AAA AAAAA.
    AAAAA AAAAA AAA xxxxxx (yyyy) AAAA xxxx AAAAA xxxx AAA xxxxxx AAAAAAA.

    Jede Zeile enthält einen zu analysierenden String. Interessant für die Weiterverarbeitung sind die Werte in Kleinbuchstaben. Die Kleinbuchstaben sind Platzhalten für einen Text, der immers anders lauten kann. Die Grobuchstaben sind Platzhalter für einen konstanten Text:
    AAAA = Ein Text der immer gleich ist, ohne enthaltende Leerzeichen
    xxxxxx = Ein Text, der sich immer ändern kann, aber nie Leerzeichen enthält
    yyyyyy = Ein Text, der sich immer ändern kann, aber nie Leerzeichen enthält, dafür aber auch Leer sein kann
    zzzzzz = Ein Text, der sich immer ändern kann, aber der auch Leerzeichen enthalten kann

    Hat jemand ne Idee, wie die einzelnen Ausdrücke aussehen müssten?

    Danke im Voraus

    Schöne Grüße
    Danny
     

  2. #2
    Avatar von boast
    boast boast ist offline Mitglied Bronze
    Registriert seit
    Mar 2007
    Ort
    Luzern (Schweiz)
    Beiträge
    43
    In Deinem Fall würde der RegEx ein riesen (un)Ding werden und da ich selbst nicht so der Profi in RegExe bin, hätte ich da mal noch ne andere Idee:

    - alle vordefinierten Stringteile per str_replace() mit einem Delimiter (z.B. || oder ##, auf jedenfall was, was dem User nachher auch verboten wird, einzugeben!) ersetzen.
    - per explode() im String die Delimiter benützen, damit man nachher alles in einem schönen Array hat
    - den Array kannst weiterverarbeiten wie Du willst...

    Hier ein Beispiel für die erste Zeile:
    PHP-Code:
    <?php

    $string 
    "AAA AAA AA AAAAA xxxxxxxxx AAAAA xxxxxxx (yyyyyy) AAAAAA AAAAA AAAAA."// zu untersuchender String
    $delimiter "||"// Trennzeichen
    $array = array(); // Array zur Weiterverarbeitung

    /**
     * 1. Vorgegebener Stringteil: "AAA AAA AA AAAAA "
     * 2. Vorgegebener Stringteil: " AAAAA "
     * 3. Vorgegebener Stringteil: " ("
     * 4. Vorgegebener Stringteil: ") AAAAAA AAAAA AAAAA."
     */

    str_replace("AAA AAA AA AAAAA "$delimiter$string);
    str_replace(" AAAAA "$delimiter$string);
    str_replace(" ("$delimiter$string);
    str_replace(") AAAAAA AAAAA AAAAA."$delimiter$string);

    // jetzt sieht der String so aus: "||xxxxxxxxx||xxxxxxx||yyyyyy||"

    /**
     * Das ganze mit einem Array:
     *
     * $replace = array("AAA AAA AA AAAAA ", " AAAAA ", " (", ") AAAAAA AAAAA AAAAA.");
     * str_replace($replace, $delimiter, $string);
     *
     * nach meiner Quelle ist dies aber langsamer...
     */

    $array explode($delimiter$string);

    echo(
    $array[0]); // Ausgabe: xxxxxxxxx

    ?>
    http://benchmark.nophia.de/benchmark....html#all_time
    Nach dieser Quelle ist str_replace() am schnellsten (ohne Arrays...).

    Hoffe war alles verständlich.
    Geändert von boast (22.03.07 um 23:37 Uhr)
     
    Ist mir eine EHRE, von gleicher SORTE zu sein.

Ähnliche Themen

  1. URL mit regulären Ausdruck zerlegen
    Von MrSpoocy im Forum PHP
    Antworten: 4
    Letzter Beitrag: 04.03.10, 10:59
  2. Suche Regulären Ausdruck für [[link:42]]
    Von arkanoid im Forum PHP
    Antworten: 4
    Letzter Beitrag: 22.07.09, 14:25
  3. Suche Regulären Ausdruck
    Von Conners im Forum Java
    Antworten: 4
    Letzter Beitrag: 03.03.09, 11:47
  4. Suche regulären Ausdruck
    Von trench140 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 01.09.08, 12:10
  5. Suche regulären Ausdruck
    Von Tarta im Forum PHP
    Antworten: 2
    Letzter Beitrag: 14.07.04, 11:52