Page 1 sur 1
Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 01:09
par hyluzion
Bonjours, j'aimerais grâce à StringRegExp retrouver la chaine de caractères entière ci dessous dans le code source de ma page et en extraire le chiffre entier avec la virgule et le deuxieme point (109,109.89), se chiffre sera variable, mais je nage avec la syntaxe et les expressions régulières.
Pourriez vous s'il vous plait m'aider à mettre sa en forme ?
<a class="tri-cyy" href="/abc/def/ghi/">.109,109.89</a>
Merci !
Re: Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 10:15
par jguinch
$value = StringRegExp($codeSource, '(?i)<a class="tri-cyy" href=[^>]+>\.([^<]+)', 1)MsgBox(0, "", $value[0])
Re: Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 12:10
par hyluzion
Bonjour, merci Jguinch de ta réponse.
Peu tu m'expliquer le code pour que je puisse le comprendre ?
En lanque française, mon stringregexp doit faire :
Trouver un <
Trouver un a (et uniquement, pas une lettre aléatoire)
Trouver class (et uniquement, pas une suite de lettre)
Trouver un = (uniquement)
Trouver un " (uniquement)
Trouver un tri (et uniquement, pas une suite de lettre)
Trouver un - (uniquement)
Trouver un cyy (et uniquement, pas une suite de lettre)
Trouver un " (uniquement)
Trouver un espace (uniquement)
Trouver un href (et uniquement, pas une suite de lettre)
Trouver un = (uniquement)
Trouver un " (uniquement)
Trouver un / (uniquement)
Trouver un abc (et uniquement, pas une suite de lettre)
Trouver un / (uniquement)
Trouver un def (et uniquement, pas une suite de lettre)
Trouver un / (uniquement)
Trouver un ghi (et uniquement, pas une suite de lettre)
Trouver un / (uniquement)
Trouver un " (uniquement)
Trouver un > (uniquement)
Trouver un . (uniquement)
Trouver une suite de nombre aléatoire de taille non défini
Trouver une , (uniquement)
Trouver une suite de nombre aléatoire de taille non défini
Trouver un . (uniquement)
Trouver une suite de nombre aléatoire de taille non défini
Trouver un < (uniquement)
Trouver un / (uniquement)
Trouver un a (et uniquement, pas une lettre aléatoire)
Trouver un > (uniquement)
Re: Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 15:05
par jguinch
(?i) : non sensible à la casse
<a class="tri-cyy" href= : Cette chaîne de caractère, littéralement
[^>]+ : tout caractère qui n'est pas ">", une ou plusieurs fois
> : le caractère ">"
\. : un point
([^<]+) : tout caractère qui n'est pas "<", une ou plusieurs fois. Les parenthèses servent à capturer la chaîne souhaitée
On aurait aussi pu écrire : (?)<a class="tri-cyy" href=.+?>\.(.+?)<
(?) : non sensible à la casse
<a class="tri-cyy" href= : Cette chaîne de caractère, littéralement
.+?> : tout caractère, jusqu'au prochain caractère ">" (inclus)
\. : un point
(.+?)< : tout caractère, jusqu'au prochain caractère "<" (inclus). Les parenthèses servent à capturer la chaîne souhaitée
Re: Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 17:48
par mikell
Trouver un abc (et uniquement, pas une suite de lettre)
etc
Si l'adresse du lien doit être mentionnée précisément (si confusion possible avec d'autres liens dans la page) alors il faut l'écrire dans l'expression
$value = StringRegExp($codeSource, '(?i)<a class="tri-cyy" href="/abc/def/ghi/">\.([^<]+)', 1)MsgBox(0, "", $value[0])
Re: Utilisation de StringRegExp
Posté : lun. 15 nov. 2021 18:39
par hyluzion
Parfait j'ai tout compris. Merci beaucoup à tout les deux.