expreg : parenthèses capturentes

expreg : parenthèses capturentes - PHP - Programmation

Marsh Posté le 25-07-2007 à 09:30:56    

Bonjour, je débute en expreg et j'essai de faire une règle simple
Soit une ligne avec plusieurs mots.
Par exemple :
cle val1 val2 val3
Le mot 'cle' (c'est pas forcement cle, ca peut etre toto, tutu ou n'importe quoi) apparait obligatoirement.
Le reste n'est pas obligatoire.
Ce que je veux c'est matché au minimum le premier 'cle', le capturer et capturer eventuellement tous les autres val
Je sais, je peux faire un explode, mais c'est pour ma culture personnelle :-)
J'ai donc écrit ca :
#(\S+)(?:\s(\S+))*#
j'utilise preg_match
Mon probleme est que ca ne capture qu'une seule valeur, et biensur c'est la derniere ; val3 dans mon exemple. Je voudrais qu'il me capture aussi val1 et val2
 
Comment faire ? merci

Reply

Marsh Posté le 25-07-2007 à 09:30:56   

Reply

Marsh Posté le 25-07-2007 à 11:34:50    

http://fr.php.net/str_split avec espace ça irait plus vite.
Mais sinon pour ta regex je ferais simplement
#(\S+?)#g

Reply

Marsh Posté le 25-07-2007 à 16:00:29    

ok, mais alors, dans la tienne, c'est le g qui va faire que toutes les occurances vont être capturée ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed