Frage zu preg_match (RegExp Ausdrücke)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu preg_match (RegExp Ausdrücke)

    Hallo,

    ich schlage mich gerade mit den regulären Ausdrücken für ein preg_match rum.
    Ich möchte aus dieser Zeile (in $buffer):

    PHP-Code:
    23:44:02 "PLAYER: KILL: Pennywise was killed by Osama with weapon DMR from 128.304m" 
    Pennywise, Osama, DMR und 128.304 als Ergebnis haben.

    Ich habe nun diese versucht, bekomme aber kein Ergebnis:

    PHP-Code:
    preg_match('#PLAYER: KILL: (?P<opfer>\w+) was killed by (?P<killer>\w+) with weapon (?P<waffe>\w+) from (?P<entfernung>\w+)m#'$buffer$kill

  • #2
    Durch den Punkt in der Zahl kommt im Beispiel bei <was> wohl weder \d noch \w in Frage.

    PHP-Code:
    <?php

    $string 
    "PLAYER: KILL: Pennywise was killed by Osama with weapon DMR from 128.304m";

    preg_match("/PLAYER: KILL: (?P<wer>\w+) was killed by (?P<wie>\w+) with weapon (?P<mit>\w+) from (?P<was>\S+)m/"$string$treffer);

    print_r($treffer);

    /* Ausgabe:

    Array
    (
        [0] => PLAYER: KILL: Pennywise was killed by Osama with weapon DMR from 128.304m
        [wer] => Pennywise
        [1] => Pennywise
        [wie] => Osama
        [2] => Osama
        [mit] => DMR
        [3] => DMR
        [was] => 128.304
        [4] => 128.304
    )
    */
    ?>
    Damit würde es auch gehen:

    PHP-Code:
    "/... from (?P<was>(\d|\.)+)m/" 
    Finde Deinen Beispielsatz nicht besonders gut gewählt, eher unpassend.
    Zuletzt geändert von Melewo; 12.03.2013, 18:22.

    Kommentar

    Lädt...
    X