Emanuel: regex

Hallo und einen schönen Sonntag wünsche ich.

Mich quält ein Problem.
Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.

1.    tony    MrC    Kämpfer      585.569    157
2.    Maddrax66    `°´    Wärter       452.124    143
...
...

Also tony und MrC
und in der nächsten Zeile Maddrax66 und `°´.

Ich dachte nun geh ich folgendermaßen an das Problem:

preg_match_all('~[a-zA-Z0-9]+[*]{,3}~',_OBJECT_,_AUSGABEARRAY_);

Irgendwie denke ich womöglich wieder mal viel zu kompliziert!
Was mache ich falsch? Und ist das überhaupt möglich?

Wo kann ich entsprechende Hilfe zum Nachschlagen bekommen?

Ich bin für jeden Hinweis sehr dankbar.

Danke
Emanuel

  1. Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.

    1.    tony    MrC    Kämpfer      585.569    157
    2.    Maddrax66    `°´    Wärter       452.124    143
    ...
    ...

    Also tony und MrC
    und in der nächsten Zeile Maddrax66 und `°´.

    Tach auch!

    Also preg_match wär hier echt eher unangebracht.
    Gib doch besser an, wie die "Zerteiler" auszusehen haben,
    statt, wie der Inhalt aussieht.

    ---> preg_split

    http://de.php.net/manual/en/function.preg-split.php

    1. Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.

      1.    tony    MrC    Kämpfer      585.569    157
      2.    Maddrax66    `°´    Wärter       452.124    143
      ...
      ...

      Also tony und MrC
      und in der nächsten Zeile Maddrax66 und `°´.

      Tach auch!

      Also preg_match wär hier echt eher unangebracht.
      Gib doch besser an, wie die "Zerteiler" auszusehen haben,
      statt, wie der Inhalt aussieht.

      ---> preg_split

      http://de.php.net/manual/en/function.preg-split.php

      Problem an der ganzen Geschichte ist das ich nur diese beiden Werte (Zeichenketten) benötige. Der Rest kann ignoriert werden.
      Und es handelt sich um einen kompletten String.
      Das sind keine einzelnen Zeilen. Also 50 Zeilen in einem String.

      1. Hi,

        Problem an der ganzen Geschichte ist das ich nur diese beiden Werte (Zeichenketten) benötige. Der Rest kann ignoriert werden.

        dann ignoriere sie anschließend.

        Und es handelt sich um einen kompletten String.
        Das sind keine einzelnen Zeilen. Also 50 Zeilen in einem String.

        Also musst Du zwei mal zerteilen.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Und jetzt wirds kritisch:

          43. Peili G H Pirat 397.328 120

          Mit dieser Funktion zerlege ich den String in einzelne Teile.

          $arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);

          Leider auch G H.
          Das ist eigentlich nicht gewünscht.
          Kann ich dagegen etwas tun?

          1. Hi,

            $arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);

            die Trenner der einzelnen Werte einer Zeile sind doch wohl hoffentlich Tabulatoren, oder? Wenn nicht: Wer zur Hölle hat sich das Datenformat ausgedacht?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi,

              $arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);

              die Trenner der einzelnen Werte einer Zeile sind doch wohl hoffentlich Tabulatoren, oder? Wenn nicht: Wer zur Hölle hat sich das Datenformat ausgedacht?

              Cheatah

              es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.

              1. es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.

                Ist's denn wenigstens gesichert, daß wirklich nur die eine Spalte auch Werte mit Leerzeichen enthalten kann?
                Wenn ja, dann kannst Du immerhin noch über ein etwas komplizierteres preg_match da rangehen.
                Wenn aber statt
                43. Peili G H Pirat 397.328 120

                auch z.B.

                43. Pe ili G H Pi rat 397.328 120

                erlaubt wäre, dann sieht's zappenduster aus.

                1. Mir fällt gerad noch was ein:
                  Wie wär's, wenn Du nen vernünftigen Browser zum kopieren verwenden würdest?

                  Soweit ich weiß benutzt nur der IE Leerzeichen
                  zur Ersatzdarstellung beim Kopieren von Tabellen.
                  Der FF verwendet Tabulatorzeichen.

                  1. Mir fällt gerad noch was ein:
                    Wie wär's, wenn Du nen vernünftigen Browser zum kopieren verwenden würdest?

                    Soweit ich weiß benutzt nur der IE Leerzeichen
                    zur Ersatzdarstellung beim Kopieren von Tabellen.
                    Der FF verwendet Tabulatorzeichen.

                    Ich habe es mit beiden ausprobiert. Keiner von beiden zeigt einen Unterschied.

                2. es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.

                  Ist's denn wenigstens gesichert, daß wirklich nur die eine Spalte auch Werte mit Leerzeichen enthalten kann?
                  Wenn ja, dann kannst Du immerhin noch über ein etwas komplizierteres preg_match da rangehen.
                  Wenn aber statt
                  43. Peili G H Pirat 397.328 120

                  auch z.B.

                  1. Pe ili G H Pi rat 397.328 120

                  erlaubt wäre, dann sieht's zappenduster aus.

                  Nein leider nicht! Dann muß ich wohl doch eine andere Möglichkeit finden.

              2. gudn tach!

                es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.

                wenn du noch die moeglichkeit hast, an die original-html-tabelle heranzukommen, nutze doch einfach den source code. dann hast du in den "<td>" bzw. <tr> sehr einfach trennstrings und brauchst nicht mal regulaere ausdruecke.

                prost
                seth