Cherche expression régulière
Résolu
cartouchek
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
dreamer1 -
dreamer1 -
Bonjour a tous,
C'est la première fois que je post dans un forum. j'espère que l'endroit choisi est le bon...
je cherche à créer une expression régulière en PHP qui me permette de récupérer des chiffres selon le masque suivant:
15/1
7.5/1
dans une chaine comme celle ci:
03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1
j'ai beau m'arracher les cheveux, je n'arrive pas a créer ce masque x/1.
merci d'avance a tous ceux qui pourront m'aider....
C'est la première fois que je post dans un forum. j'espère que l'endroit choisi est le bon...
je cherche à créer une expression régulière en PHP qui me permette de récupérer des chiffres selon le masque suivant:
15/1
7.5/1
dans une chaine comme celle ci:
03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1
j'ai beau m'arracher les cheveux, je n'arrive pas a créer ce masque x/1.
merci d'avance a tous ceux qui pourront m'aider....
A voir également:
- Cherche expression régulière
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Avoir du ping expression ✓ - Forum jeux en ligne
- C quoi un ping? ✓ - Forum Réseau
- Expression de recherche - Guide
2 réponses
Salut,
En PHP je ne sais pas, mais en shell (bash) voilà ce que ça donne :
;-))
En PHP je ne sais pas, mais en shell (bash) voilà ce que ça donne :
[tmpfs]$ echo $chaine 03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1 [tmpfs]$ echo $chaine | grep -o '[[:digit:],]*/1' 145/1 49/1 83/1 37/1 8/1 16/1 78/1 2,5/1 100/1 14/1 24/1 2,2/1 29/1 94/1 28/1 6,2/1 [tmpfs]$En espérant que ça te donne une piste à adapter à la syntaxe du PHP...
;-))
Salut,
Voici un test
Voici un test
lami20j@debian:~/trash$ cat script.php <? $var="03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1 7.5/1"; echo "$var\n"; preg_match_all('/[^0-9][0-9]\.?[0-9]\/1/',$var,$tableau); foreach ($tableau as $elem){ print_r($elem); echo"\n"; } ?> lami20j@debian:~/trash$ php script.php 03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1 7.5/1 Array ( [0] => 49/1 [1] => 83/1 [2] => 37/1 [3] => 16/1 [4] => 78/1 [5] => 14/1 [6] => 24/1 [7] => 29/1 [8] => 94/1 [9] => 28/1 [10] => 7.5/1 )
bonjour,
super ça marche!!!!!
j'ai modifier un peu le code car en fait je voulais récupérer les nombres dans tous les exemples suivant:
2/1
12/1
123/1
2.1/1
12.1/1
j'ai donc fait comme ceci:
preg_match_all('/[^0-9][0-9]{1,3}\\,[0-9]{1}\/1|[^0-9][0-9]{0,3}\.?[0-9]\/1/',$page,$tableau);
foreach ($tableau as $elem)
{
print_r($elem);
echo"\n";
}
il y a peut être plus simple, mais bon ça marche en tout cas.
MERCI pour ton aide lami20j
super ça marche!!!!!
j'ai modifier un peu le code car en fait je voulais récupérer les nombres dans tous les exemples suivant:
2/1
12/1
123/1
2.1/1
12.1/1
j'ai donc fait comme ceci:
preg_match_all('/[^0-9][0-9]{1,3}\\,[0-9]{1}\/1|[^0-9][0-9]{0,3}\.?[0-9]\/1/',$page,$tableau);
foreach ($tableau as $elem)
{
print_r($elem);
echo"\n";
}
il y a peut être plus simple, mais bon ça marche en tout cas.
MERCI pour ton aide lami20j
Salut,
De rien ;-)
Essaie ça pour voir
J'ai testé ta regex sur l'exemple que tu as donné et ça ne marche pas.
De rien ;-)
Essaie ça pour voir
preg_match_all('/\s[0-9]{1,3}\.?[0-9]?\/1/',$page,$tableau);Tu veux aussi récupérer la masque avec virgule?!
preg_match_all('/\s[0-9]{1,3}[.,]?[0-9]?\/1/',$page,$tableau);
J'ai testé ta regex sur l'exemple que tu as donné et ça ne marche pas.
lami20j@debian:~/trash$ cat script.php <? $page="03 / 04 05 06 07 08 09 / / / / 1 / 145/1 / 2 / 49/1 / 3 / 83/1 / 4 / 37/1 / 5 / 8/1 / 6 / 16/1 / 7 / 78/1 / 8 / 2,5/1 / 9 / 100/1 / 10 / 14/1 / 11 / 24/1 / 12 / 2,2/1 / 13 / 29/1 / 14 / 94/1 / 15 / 28/1 / 16 / 6,2/1 7.5/1 2/1 12/1 123/1 2.1/1 12.1/1"; # la tienne preg_match_all('/[^0-9][0-9]{1,3}\\,[0-9]{1}\/1|[^0-9][0-9]{0,3}\.?[0-9]\/1/',$page,$tableau); echo "Ta regex\n"; foreach ($tableau as $elem){ print_r($elem); echo"\n"; } # la mienne seulement avec . preg_match_all('/\s[0-9]{1,3}\.?[0-9]?\/1/',$page,$tableau); echo "avec le point\n"; foreach ($tableau as $elem){ print_r($elem); echo"\n"; } # la mienne avec point et virgule preg_match_all('/\s[0-9]{1,3}[.,]?[0-9]?\/1/',$page,$tableau); echo "avec point + virgule\n"; foreach ($tableau as $elem){ print_r($elem); echo"\n"; } ?> lami20j@debian:~/trash$ php script.php Ta regex Array ( [0] => 2,5/1 [1] => 2,2/1 [2] => 6,2/1 ) avec le point Array ( [0] => 145/1 [1] => 49/1 [2] => 83/1 [3] => 37/1 [4] => 8/1 [5] => 16/1 [6] => 78/1 [7] => 100/1 [8] => 14/1 [9] => 24/1 [10] => 29/1 [11] => 94/1 [12] => 28/1 [13] => 7.5/1 [14] => 2/1 [15] => 12/1 [16] => 123/1 [17] => 2.1/1 [18] => 12.1/1 ) avec point + virgule Array ( [0] => 145/1 [1] => 49/1 [2] => 83/1 [3] => 37/1 [4] => 8/1 [5] => 16/1 [6] => 78/1 [7] => 2,5/1 [8] => 100/1 [9] => 14/1 [10] => 24/1 [11] => 2,2/1 [12] => 29/1 [13] => 94/1 [14] => 28/1 [15] => 6,2/1 [16] => 7.5/1 [17] => 2/1 [18] => 12/1 [19] => 123/1 [20] => 2.1/1 [21] => 12.1/1 )
salut,
stp j'ai besoin de votre besoin dans un truc si tu c possible..
J'ai besoin de récupérer le 10 et "Titre" du lien suivant à l'aide d'une expression réguliere(avec preg_match)
<a href="http://www.example.com/10" >Titre</a>
pouvez vous m'aider dans l'ecriture de l'expression??
merci d'avance :)
stp j'ai besoin de votre besoin dans un truc si tu c possible..
J'ai besoin de récupérer le 10 et "Titre" du lien suivant à l'aide d'une expression réguliere(avec preg_match)
<a href="http://www.example.com/10" >Titre</a>
pouvez vous m'aider dans l'ecriture de l'expression??
merci d'avance :)
je n'est pas suivis ta piste, car la solution de lami20j fonctionne...
en tout cas, merci à toi de m'avoir consacrer d'un peu de ton temps...
Ben c'est normal, celle de lami20j étant beaucoup plus adaptée ;-))