Page 1 sur 1
[R] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 00:06
par mystere
Bonjour, voila mon problème. Je récupère une petite partie de code source sur un site. La partie en question est juste un qui varie de page en page. Le problème ces que sur quelque rare page le nombre est composé avec un espace par exemple 3 132. Lorsque le nombre n’a pas d’espace j’arrive a retrouvé le nombre. Mais lorsque il y en a un, pas moyen de retrouvé le nombre. J’ai la fameuse erreur :
Voici le code qui traite le regexe
Code : Tout sélectionner
$trouve=stringregexp($source,'<td width="" align="right">([[:digit:], ]+?) (c)</td>',3)
J’ai mi un espace âpres la virgule mais rien n’y fait.
Comment résoudre ce problème ?
PS : Si vous avez un petit tuto en français sur les regex, je suis preneur, sa pourrai me servir plus tard.
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 02:01
par bloodwolff
Code : Tout sélectionner
$trouve=stringregexp($source,'<td width="" align="right">([[:digit:][:space:],]+?) </td>',3)
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 10:48
par mystere
Merci de ta réponsse bloodwolff, mais j'ai le même message d'érreur.
Voici la page du site
http://bourse.capital.fr/devises/cours- ... eb-8382543
Il faut récupéré au 5 janvier 20011 à 10 h 30 le nombre 3 132,9700 (ce nombre peut changer a n'importe quelle momant).
La ligne dans le code source est :
<td width="" align="right">3 132,9700 (c)</td>
Voici la partie du code qui s'occupe de cette page.
Code : Tout sélectionner
$source=_inetgetsource($bolivars_fuerte)
$trouve=stringregexp($source,'<td width="" align="right">([[:digit:][:space:],]+?) (c)</td>',3)
$trouve[0]=stringreplace($trouve[0]," ","")
$trouve[0]=stringreplace($trouve[0],",",".")
$trouve2=stringregexp($lecture,'case ([[:digit:].]+?):echo"bolivars fuerte";break;',3)
$lecture=stringreplace($lecture,"case " & $trouve2[0] & ':echo"bolivars fuerte";break;',"case " & $trouve[0] & ':echo"bolivars fuerte";break;')
$lecture=stringreplace($lecture,'<option value="' & $trouve2[0] & '">bolivars fuert</option>','<option value="' & $trouve[0] & '">bolivars fuert</option>')
Merci de m'aidez.
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 11:00
par Iste
Votre regexp ne prend simplement pas en compte le "(c)"
Le comportement que vous décrivez est tres étrange car il ne colle pas a la regexp que vous nous avez fourni
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 11:53
par mystere
Merci de ta réponsse Iste, commant je fait pour integré le (C) dans le regex ?
J'ai rajouté le (C) car sur les autres page il ne l'est pas.
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 13:34
par softwater
bonjour,
J'ai pas tout lu mais pour supprimer tous les espaces d'une chaîne il suffit d'utiliser StringStripWS avec l'arg. 8
Code : Tout sélectionner
$text = StringStripWS(" this is a line of text ", 8)
MsgBox(0, "Stripped from both ends", $text)
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 13:47
par mystere
Merci de ta réponsse softwater, mais ce n'est pas supprimé tout les espace d'une chènne que je cherche a fair.
Re: [..] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 13:59
par bloodwolff
Code : Tout sélectionner
$trouve=stringregexp($source,'<td width="" align="right">([[:digit:][:space:],]+?) (c)</td>',3)
Deviens
Code : Tout sélectionner
$trouve=stringregexp($source,'<td width="" align="right">([[:digit:][:space:],]+?)\(c\)</td>',3)
Re: [R] Integrer un espace dans une RegEx
Posté : mer. 05 janv. 2011 14:03
par mystere
Merci de ta réponsse bloodwolff, sa fonctionne. Le problèmme est résolut.