Rechercher : dans
Par :

[PHP] Expressions régulières

Dernière réponse le 25 sep 2007 à 07:39:39 Delta9_THC, le 2 mai 2006 à 14:26:03 
 Signaler ce message aux modérateurs

Re-bonjour,

Je re-pose la question différement, je ne suis pas sûr d'avoir été clair dans mon dernier post :

si j'ai une variable $chaine = "45 AZERTY 78 UIOP 26 GFDTE"

est-il possible, en un seul ereg/eregi de récupérer "45", "AZERTY", "78", "UIOP", "26", "GFDTE" ??
Ou au moins de récupérer "45 AZERTY", "78 UIOP", "26 GFDTE" (je trierai après...)
Le tout en sachant que cette $chaine est formée de 3 séries (2 chiffres, des lettres, 2 chiffres, des lettres, 2 chiffres, des lettres) mais qu'il faudrait aussi que cela fonctionne pour 1 ou 2.

Merci aux courageux ! :o)

Meilleures réponses pour « [PHP] Expressions régulières » dans :
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
Vérifier le format d'une date en PHP VoirIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
Javascript - L'objet RegExp VoirLes particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...

1

lami20j, le 2 mai 2006 à 15:24:28

Salut,

est-il possible, en un seul ereg/eregi de récupérer "45", "AZERTY", "78", "UIOP", "26", "GFDTE" ??

En ce cas tu n'as pas besoin d'une regex. Tu peux utiliser http://www.expreg.com/pregsplit.php

lami20j

Répondre à lami20j

3

Delta9_THC, le 2 mai 2006 à 15:31:02

Ben merci ! Si je cherche pas au bon endroit je risque pas d'y arriver ! :o)

Merci encore

Répondre à Delta9_THC

4

Zep3k!GnO, le 2 mai 2006 à 15:33:23

T'as raison j'y avait mêm epas penser, si t'as que des espaces entre ec que tu veux récuperer t'as meme explode() qui fait le compte ... Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

2

Zep3k!GnO, le 2 mai 2006 à 15:30:20

Salut , je ne suis pas sur à 100 %de la synthaxe mais :

$chaine = "45 AZERTY 78 UIOP 26 GFDTE";
$patterns="/([0-9]{2}) ([^ ]+) [0-9]{2}) ([^ ]+) [0-9]{2}) ([^ ]+) /";
ereg($patterns,$chaine,$id);
print_r($id);

Par contre je me suis servi de l'espace entre les chiffres et les lettres pour délimiter les lettres...
Voilà, ca devrait pas etre trop mauvais...
bonne journée :D
Zep3k!GnO
On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

5

Delta9_THC, le 2 mai 2006 à 18:38:16

Ok ok merci à tous !
Je vais essayer avec ces méthodes demain, si jamais ça fonctionne pas je reviendrai ! Et si ça fonctionne....je reviendrai aussi :o)

Répondre à Delta9_THC

6

Delta9_THC, le 9 mai 2006 à 09:54:02

Réponse tardive mais néammoins présente :o)

Ca marche nickel ! Bon j'ai un peu de mal à saisir le concept mais j'ai pas eu le temps de m'attarder dessus........je le ferai plus tard !

merci encore !

Répondre à Delta9_THC

7

Zep3k!GnO, le 9 mai 2006 à 10:13:04

Pas de soucis... :D
j'avoue que les expressions régulières a première vue c'est imbittable !
Bonne journée ;)
@+ Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

8

Farfadh, le 25 sep 2007 à 06:46:23

La meilleure solution est d'utiliser la function explode qui sépare des morceaux de chaînes selon un séparateur et les met dans un tableau.

Voici sa syntaxe :

array explode(string separateur, string chaine[, int limite])

Utilise le separateur pour découper la chaine dans un tableau. Si la limite est fournie, le tableau contiendra un nombre limité d'éléments dont le dernier contiendra le reste de la chaine.

Le résultat cherché ici s'obtient comme ceci :

$array= explode(' ', $chaine);

Pas besoin d'expressions régulières dans le cas présent.

Répondre à Farfadh

9

 lami20j, le 25 sep 2007 à 07:39:39

Salut,

déterrer un thread pour donner un réponse qui as été déjà donné en 2006, n'a aucun sens (il faut lire le thread avant ;)
regarde php expressions regulieres#4 lami20j

Répondre à lami20j
Collection CommentÇaMarche.net