[R] Integrer un espace dans une RegEx

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

[R] Integrer un espace dans une RegEx

#1

Message 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 :
► Afficher le texte
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.
Modifié en dernier par mystere le mer. 05 janv. 2011 14:04, modifié 3 fois.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#2

Message par bloodwolff »

Code : Tout sélectionner

$trouve=stringregexp($source,'<td width="" align="right">([[:digit:][:space:],]+?) </td>',3)
Compte skype : bloodwolfff
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#3

Message 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.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#4

Message par Iste »

Votre regexp ne prend simplement pas en compte le "(c)"

Code : Tout sélectionner

<td width="" align="right">([[:digit:], ]+?) ...</td>
Le comportement que vous décrivez est tres étrange car il ne colle pas a la regexp que vous nous avez fourni
Signez ici
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#5

Message 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.
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#6

Message 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)
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#7

Message 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.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Integrer un espace dans une RegEx

#8

Message 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)
Modifié en dernier par bloodwolff le mer. 05 janv. 2011 14:05, modifié 2 fois.
Compte skype : bloodwolfff
mystere
Niveau 4
Niveau 4
Messages : 62
Enregistré le : ven. 26 nov. 2010 22:37
Status : Hors ligne

Re: [R] Integrer un espace dans une RegEx

#9

Message par mystere »

Merci de ta réponsse bloodwolff, sa fonctionne. Le problèmme est résolut.
Répondre