Anfänger: preg_match

Hallo,

ich lese aus einer Datei in einen String $s daten aus der Datenbank.

der string ist aufgebaut wie folgt:

text_mit_Sonderzeichen_";_etc.dann_profil('Name1');weiterer_text_dann_wieder profil('Name2');etc.

Wie kann ich aus diesem String die Namen rauslesen?
Ich habe gelesen, dass es mit folgendem gehen soll:

preg_match('@^(?:profil(')?([^']+)@i',$string, $treffer);

klapt aber nicht, vieleicht ist auch irgendwein Zeichen falsch,
hab keine Ahnung was die alle bedeuten sollen, vieleicht kennt sich
einer von Euch aus, würde mich freuen, inkl. dem Ausdruck, wie ich mir
alle Treffer anzeigen lassen kann, etwas wie

for($x=0;$x<60;$x++)
{
print $treffer[$x];
}

  1. Ich habe gelesen, dass es mit folgendem gehen soll:
    preg_match('@^(?:profil(')?([^']+)@i',$string, $treffer);
    klapt aber nicht, vieleicht ist auch irgendwein Zeichen falsch,
    ...

    Wir nehmen Lookbehind Assertions:
    zuerst etwas gruppiert:

    '@    (?<=profil)   ('  ( .*? )   ')  @'

    und jetzt für php ohne whitespace

    '@(?<=profil)('(.*?)')@'

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
  2. klapt aber nicht,

    Man müßte jetzt fragen wie sich das äußert aber da Du nicht weißt, wie man sich den Rückgabewert anzeigen lassen kann*, erübrigt sich die Frage vielleicht. Woher weißt Du, daß es nicht klappt und warum teilst Du uns das nicht von Dir aus mit?

    * eine Möglichkeit ist var_dump