Besoin d'un StringRegExp

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Besoin d'un StringRegExp

#1

Message par Yle »

Bonjour,

J'ai besoin d'un StringRegExp qui récupère le nombre situé entre les 2 parenthèses :

La zone a ce format : 04--01 (0)
La première parenthèse ouverte sera toujours en position 8 sachant qu'entre les parenthèses les chiffres peuvent varier de 0 à 999 et ce chiffre peut comporter un point comme 99.5
Après le point, une seule décimale permise

D'avance merci
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Besoin d'un StringRegExp  

#2

Message par jchd »

Yle,
Soit on fait confiance au respect du format d'entrée, auquel cas la première possibilité convient, soit on souhaite s'assurer que le format est respecté, dans ce cas la seconde possibilité est préférable (y adjoindre un test d'erreur, évidemment).

Code : Tout sélectionner

Local $aText = [ _
	"04--01 (1)", _
	"04--01 (12)", _
	"04--01 (123)", _
	"04--01 (1.2)", _
	"04--01 (12.3)", _
	"04--01 (123.4)", _
	"04--01 (999.9)" _
]

For $s In $aText
	ConsoleWrite(_StringBetween($s, '(', ')')[0] & @CRLF)
Next
For $s In $aText
	ConsoleWrite(StringRegExp($s, '(?<=\()\d{1,3}(?:.\d)?(?=\))', 1)[0] & @CRLF)
Next
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: Besoin d'un StringRegExp

#3

Message par Yle »

Oui pourquoi compliquer alors qu'un _StringBetween convient parfaitement et cette commande (que je connais) ne m'a même pas effleurée l'esprit !
Merci JCHD je clos.
Répondre