[RESOLU] Recherche d'une Regexp
Modérateurs : Naveed, GregLand
-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
[RESOLU] Recherche d'une Regexp
Hello...
Je cherche une expression régulière permettant de trouver un nombre sous le format :
15,50 EUR
110,62 EUR
1,10 EUR
(qui représente bien entendue une somme d'argent)
Je suis arrivé a ceci :
#[0-9]+[,]+[0-9]+ EUR#
mais ça ne fonctionne pas toujours...
Une solution les fans de regexp ?
Je cherche une expression régulière permettant de trouver un nombre sous le format :
15,50 EUR
110,62 EUR
1,10 EUR
(qui représente bien entendue une somme d'argent)
Je suis arrivé a ceci :
#[0-9]+[,]+[0-9]+ EUR#
mais ça ne fonctionne pas toujours...
Une solution les fans de regexp ?
Modifié en dernier par GregLand le 09 mars 2008 15:10, modifié 1 fois.
-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
[0-9]+[,]+[0-9]+ EUR
ça ça marche.
j'ai testé là
http://www.annuaire-info.com/outil-refe ... reguliere/
et là :
http://www.regular-expressions.info/jav ... ample.html
je sais pas pk t'a mis des dièses
sinon celle des étoiles fonctionnent mais elle est pas correcte parce qu'elle trouver correct si tu met ",05 EUR" par exemple.
ça ça marche.
j'ai testé là
http://www.annuaire-info.com/outil-refe ... reguliere/
et là :
http://www.regular-expressions.info/jav ... ample.html
je sais pas pk t'a mis des dièses
sinon celle des étoiles fonctionnent mais elle est pas correcte parce qu'elle trouver correct si tu met ",05 EUR" par exemple.
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
Bien vu...Mick@el a écrit :elle aurait aussi pris 12,,,,12345 EUR
Je trouve que ça fait plus jolie et moins froid avec des #...Naveed a écrit :je sais pas pk t'a mis des dièses
Merci, j'avoue lutter un peu avec les Regexp... surtout quand je suis de matin (5:00 -> 13:00) pendant un week end
Juste une petite chose, il faudrait aussi que les nombres :
15,50 EUR
110,62 EUR
1,10 EUR
9,99 EUR
12.490,00 EUR
321.123.125,46 EUR
1.100.000,00 EUR
.....
soient pris en compte...
La version \d+,\d{2}+ EUR me plait bien pour le moment...
En fait (pour info) ce serait pour trouver la valeur de l'enchère actuelle dans Ebay

Modifié en dernier par GregLand le 09 mars 2008 14:04, modifié 1 fois.
et moi qui croyait que le dièse c t un truc regexp, c pour ça que je trouvais pas le caractère, ah lala sacré greg, maintenant tu nous mets des pièges esthétiques lol
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

\d+,\d{2}+ EUR
cette expression est valide
sinon si t'a des problèmes d'accolades, tu peux faire
\d+,\d\d EUR
(j'aimais bien le [0-9] c t plus parlant)
tu es sûr que tu veux valider le nombre "321.123.125,46 EUR" ??
parce que pour tout le reste l'expression fonctionne.
on pourrait affiner de manière plus restrictive mais il faut déjà que les accolades fonctionnent chez toi sinon ça va être difficile.
cette expression est valide
sinon si t'a des problèmes d'accolades, tu peux faire
\d+,\d\d EUR
(j'aimais bien le [0-9] c t plus parlant)
tu es sûr que tu veux valider le nombre "321.123.125,46 EUR" ??
parce que pour tout le reste l'expression fonctionne.
on pourrait affiner de manière plus restrictive mais il faut déjà que les accolades fonctionnent chez toi sinon ça va être difficile.
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
Effectivement, j'aimerais valider n'importe quel nombre... (même si je les aient pas sur mon comptetu es sûr que tu veux valider le nombre "321.123.125,46 EUR" ??
On peut à la limite limiter à 999.999.999.999,99 EUR si ça pose problème
Donc on suppose les nombres :
999.999.999.999,99 EUR
1.100.000,00 EUR
321.123.125,46 EUR
12.490,00 EUR
9,99 EUR
ça donnerait quelque chose comme celà ?
([0-9]+.|)([0-9]+.|)([0-9]+.|)([0-9]+,|)[0-9]+ EUR
ou ça :
(\d+.|)(\d+.|)(\d+.|)(\d+,|)\d+ EUR
ça a l'air de fonctionner, mais il y a peut être plus simple...
Dernière édition par GregLand le 09 Mar 2008 14:04; édité 1 fois
-> je te posais la question parce que t'avais mis 3 chiffres après la virgule.
ton problème d'accolade est réglé ou pas?
sinon
\d+,\d\d EUR
fonctionne tt simplement !
-> je te posais la question parce que t'avais mis 3 chiffres après la virgule.
ton problème d'accolade est réglé ou pas?
sinon
\d+,\d\d EUR
fonctionne tt simplement !
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."

-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
-
Mick@el
- Messages : 541
- Enregistré le : 18 févr. 2006 21:45
- Langage de programmation connu : Python, PHP, Javascript, C#, C++, C
- Localisation : Nancy
- Contact :
Quelle horreurGregLand a écrit :Effectivement, j'aimerais valider n'importe quel nombre... (même si je les aient pas sur mon comptetu es sûr que tu veux valider le nombre "321.123.125,46 EUR" ??)
On peut à la limite limiter à 999.999.999.999,99 EUR si ça pose problème(mais de préférence non)
Donc on suppose les nombres :
999.999.999.999,99 EUR
1.100.000,00 EUR
321.123.125,46 EUR
12.490,00 EUR
9,99 EUR
ça donnerait quelque chose comme celà ?
([0-9]+.|)([0-9]+.|)([0-9]+.|)([0-9]+,|)[0-9]+ EUR
ou ça :
(\d+.|)(\d+.|)(\d+.|)(\d+,|)\d+ EUR
ça a l'air de fonctionner, mais il y a peut être plus simple...
[0-9.]+,\d{2} EUR
De toute façon, si c'est pour récupérer ça sur ebay, on risque pas d'avoir deux virgules de suite ou autre connerie ^^
Donc autant faire une regex plus permissive mais plus simple :
[0-9.,]+ EUR
-
GregLand
- Programmeur & Administrateur

- Messages : 4431
- Enregistré le : 10 oct. 2003 09:36
- Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP
Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres.... - Localisation : Les Damps (27)
- Contact :
