begin process at 2010 02 09 22:39:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Algorithme

 > 

Maths

 > 

problème avec expression régulière


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème avec expression régulière

mercredi 24 juin 2009 à 17:47:01 | problème avec expression régulière

wagdifr

Salut ,
Dans mon application , je ne veux pas qu'un utilisateur arrive à saisir un montant sous cet format  : "vide" suivit "d'un point" puis "n'import quel chiffre " exemple :
 .36
 .55
 .9333

l'expression régulière que j'utilise est la suivante "/^[-]?[0-9 .,']*[.,]?[0-9]*$/"

Merci
mercredi 24 juin 2009 à 19:04:32 | Re : problème avec expression régulière

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Tu devrais plutôt poser ta question sur le tout nouveau site du portal codes-sources dédié aux expressions régulières :
http://regex.codes-sources.com/

Sinon, je ne suis pas un pro des regex, mais je dirais de remplacer le "*" par un "+" si tu veux que l'utilisateur saisisse au moins 1 chiffre :
/^[-]?[0-9]+[ .,']?[0-9]*$/
jeudi 25 juin 2009 à 22:54:09 | Re : problème avec expression régulière

RedDog

Bonjour,

Bon d'abord je sais pas comment tu as trouvé cette expression mais ce n'est pas une expression régulière en Java ça ressemble plus à du Perl dans sa forme /expressionRecherchee/. Essayer ça directement en Java et on trouve rien à coup sûr.

Je peux te proposer une solution qu'il te faudra approfondir. Elle permet de faire à peu près ce que tu veux faire. A toi de virer les autres soucis (et donc de comprendre ce que tu souhaites faire). Personnellement, je préfèrerais faire ça lors du traitement incluant le cast en Float.
Une solution parmi tant d'autres : "-?[0-9]+[,\\.[0-9]]*"
(A noter qu'elle n'est pas si différente de celle énoncée par DARKSIDIOUS)

Exemple :

String[] stringTable = {"20","1.2","128,333","56;5",".23",
        "25,","30.",",84","-6.3","-50"
};

Pattern p = Pattern.compile("-?[0-9]+[,\\.[0-9]]*");
for(String s : stringTable){
   Matcher m = p.matcher(s);
   if(m.matches()){
      System.out.println("Regex pour "+s+" a trouvé : "+m.group());
   }else{
      System.out.println("Regex pour "+s+" n'a rien trouvé.");
   }
}

Retourne :

Regex pour 20 a trouvé : 20
Regex pour 1.2 a trouvé : 1.2
Regex pour 128,333 a trouvé : 128,333
Regex pour 56;5 n'a rien trouvé.
Regex pour .23 n'a rien trouvé.
Regex pour 25, a trouvé : 25,
Regex pour 30. a trouvé : 30.
Regex pour ,84 n'a rien trouvé.
Regex pour -6.3 a trouvé : -6.3
Regex pour -50 a trouvé : -50


En tout cas, attention aux metacaractères. Le point est un metacaractère qui signifie "tout caractère" donc si on veut récupérer seulement un point on utilisera d'abord le backslash ce qui donnera en Java \\. .

Voilà, à plus !


Cette discussion est classée dans : problème, expression, régulière


Répondre à ce message

Sujets en rapport avec ce message

expression régulière [ par amel2006 ] j'ai ce mot "ou" que je cherche dans cet phrase "The American Heritage Dictionary of the English Language: Fourth Edition.2000." qui n'existe pas mai expression régulière [ par ludoW21 ] Bonjour,quelqu'un  peut-il m'aider? je ne connais pas les expressions régulières. Bref, voici mon problème.J'ai par exemple la String suivante :    ro expressions régulières, split [ par akrobat1664 ] Salut à tous,j'essaye de faire un split au moyen d'expressions régulières :l'idée est la suivante :j'ai des termes qui peuvent se composer de ........ Expression régulière [ par ismailfk ] Bonjour,je voudrais bien de remplacer cette chaine caractère "" par chaine vide ""voici l'expression du pattern Pattern p2= Pattern.compile("& Expression régulière - Caractère erroné [ par puman ] Bonjour,Je souhaiterais trouver la position du caractère erroné dans une regex.Par exemple si je n'autorise que les caractères dans la chaine "azerty2 Problème installation java version 6 update 11 [ par newland ] Bonjour,J'ai voulu faire une mise à jour de java passage update 11, une fois installé il me détecte toujours la version 6.0.Avec mozilla et IE c'est l Insérer une image dans un JLabel avec setIcon [ par Sharkiller ] Bonsoir à vous :)Mon problème est dans le titre...Pour quelque chose de plus explicite, voici la partie à laquelle ce problème se rattache:public void problème de connection de mon localhost:8080 [ par Didance ] je suis étudiant en informatique.j'ai installé tomcat5 dans mon ordinateur qui a comme système d'exploitation Windows Vista.Quand je fais une applicat problème pentaho(ETL) [ par devmouad ] bonjour a tous est merci d'avance,je suis un etudiant et dans le cadre d'un projet je dois travailer  avec pentaho,je dois faire un transfère de donné Problème Combobox [ par malaguena ] Salut à tousDans le cadre d'un stage de projet de fin d'études, je dois réaliser une application informatique en utilisant des interfaces graphiques.V


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales