begin process at 2012 02 13 00:36:58
  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 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 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("& Automate et expression régulière [ par scorpioneagle ] SVP, Aidez moi je suis à la travail d'un programme qui calcul une expression régulière à partir d'un automate, et même j'ai pas trouvé le point de dé URGENT AIDEZ MOI SVP [ par Aymanovitch ] salut tout le monde j'ai un petit problème !!! Je suis entrain de faire une calculatrice d'une expression arithmétique simple en JAVA. j'ai réussi à f expression régulière en java [ par raline ] salut est ce que quelqu'un peut m'aider à retrouver l'expression régulière qui correspond à "2.2.2.1/32 et 2.2.2.2/32" ? merci pour l'aide problème avec JSP [ par hamzamalek ] Bonjour, Je suis entrain de travailler sur un site web en jsp avec des ressources en java tous d'abord j'ai créé mes classes en java qui sont besoin d Problème de composant Tree en SWT [ par thabetali09 ] Salut, Mon application contient un Shell qui affiche un Tree. Lorsque j'étends la racine de Tree en cliquant sur "+" et puis j'essaie de la restreind


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,484 sec (3)

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