Théo B. Posté 18 Août 2007 Partager Posté 18 Août 2007 (modifié) Bonjour, J'utilise des chaines de ce genre : embarqué | ABEEMQRU *J11 Je voudrais réussir à trier cette chaîne pour mettre chaque morceau dans un tableau, à savoir : "embarqué", "ABEEMQRU" et "J11". La première partie (ici embarqué) peut comporter des caractères alphabétiques (a-zA-Zéèà..., \w quoi) et des tirets. La deuxième partie (ABEEMQRU) des lettres majuscules (A-Z) et la troisième des chiffres et des lettres ([A-Z0-9]). Toutefois, la regex suivante ne marche pas! $chaine = preg_replace("/\s/", "", 'abaca | AAABC *N11'); // on supprime les espacespreg_match_all('/([^\w\-]+)\|([\w]+)*([A-Z0-9]+)/',$chaine,$match); //on tente d'extraire les trois parties Où est le problème ? Merci. //EDIT : Tout est bien qui finit bien, j'avais un ^ devant le \w\- et j'avais oublié le \ devant *. Fatigue, fatigue! REGEX finale : /([\w\-]+)\|([\w]+)\*([A-Z0-9]+)/ Modifié 18 Août 2007 par Théo B. Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 18 Août 2007 Partager Posté 18 Août 2007 Et ça marche avec les accents ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Théo B. Posté 18 Août 2007 Auteur Partager Posté 18 Août 2007 Et ça marche avec les accents ?? Comme dit sur le chat, oui Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant