Cherche expression régulière
Résolu
cartouchek
Messages postés
3
Statut
Membre
-
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 Réseau
- Expression de recherche - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? - Forum Windows 7
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 ;-))