Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2007, 10h15   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 32
Points : 10
Points : 10
Envoyer un message via MSN à tynmar
Par défaut Extraire un nombre et un négatif

Bonjour,

J'ai fait une expression réguilère me permettant d'extraire d'un fichier html tous les nombres situés devant un signe €
L'imperfection de monscript est que je ne capture pas le négatif s'il y en a un.
Admettons un fichier html comprenant :
Vous disposez de 10€
Prix de Chaise = 19€
Il vous reste = -9€


Et bien je ne peux capturer le négatif ( - ) devant le 9€ avec cette fonction :

Code :
preg_match_all('`([0-9]+)€`', $fichier, $output);
Je dois froller la réponse mais je tatonne et j'ai toujours de mauvais résultats, je ne suis pas assez bon en expressions régulières. Si quelqu'un aurait la générosité de m'expliquer la réponse, comment est considéré le signe - , comment fait on pour le détecter s'il y en a un ou pas...

Merci beaucoup d'avance.
tynmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h34   #2
Candidat au titre de Membre du Club
 
Inscription : novembre 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 32
Points : 10
Points : 10
Envoyer un message via MSN à tynmar
héhé, c'était facile :

Code :
1
2
 
preg_match_all('`([-0-9]+)€`', $fichier, $output);
Résolu
tynmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 11h28   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Oui mais là vous pouvez capturer des choses comme -----1-0---€
A mon avis il est plus judicieux de préciser son caractère facultatif dans la parenthèse capturante puisque vous souhaitez l'obtenir et avant la classe :
Code :
preg_match_all('`(-?[0-9]+)€`', $fichier, $output);
On peut même l'améliorer pour les nombres (ceux comme 0009000 étant capturés ici) ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h33.


 
 
 
 
Partenaires

Hébergement Web