IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Problème expression regulière.


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Problème expression regulière.
    Bonjour,

    Sa fait des heures que je me casse la tête a essayer de trouver la bonne expression régulière.

    J'ai besoin que dans ma String qui peux contenir 8 caractère , il y ait au minim 4 caractère standart [ a-z // A-Z ] et au moins 1 caractère numérique.

    J'avais essayé ceci.

    ([0-9]{1,}([a-z]|[A-Z]){4,})|(([a-z]|[A-Z]){4,}[0-9]{1,})

    C'est pas tout à fait au moins ..
    Si l'utilisateur écris : 1abcdefg ou abcdefg1
    mais des phrase comme 1a2b3c4d ne fonctionnent pas.

    Et j'ai rien trouver sur le web qui explique comment faire une expression qui permet d'avoir au moins X caractère et X numérique sans qu'ils soient obligatoirement de suite..... comme mon exemple de 1a2b3c4d

    Auriez vous des petits idées à ce sujet ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Les expressions régulières ne peuvent pas permettre ce genre de chose facilement. Dans ton cas, la seule possibilité que je vois c'est d'énumérer les combinaisons possibles. Ca peut etre assez long.

  3. #3
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    et pourquoi pas faire 3 tests faisant matcher 3 expressions régulières un peu pas belles mais bon, on peut toujours tenter :

    8 caracteres : .{8}
    4 a-z ou A-Z au moins : (.*[a-zA-Z].*){4}
    au moins 1 caractere numérique : .*[0-9]+.*

    Donc il suffit de tester les 3 comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public class Test
    {
    	public static void main(String[] args)
    	{
     
    		String exp1=".{8}";
    		String exp2="(.*[a-zA-Z].*){4}";
    		String exp3=".*[0-9]+.*";
     
    		String maString="abcde1gh";
     
    		if(maString.matches(exp1)&&maString.matches(exp2)&&maString.matches(exp3)) 
                             {
                                            //blabla
                              }
    	}
    }
    A+

    F.
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    sa fonctionne !, merci beaucoup

  5. #5
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par Jonathan.Harvey Voir le message
    sa fonctionne !, merci beaucoup
    Salut,

    Concernant le mp que tu m'as envoyé qui demandait si "(.*[a-zA-Z].*){4}" match 4 caracteres non collés, oui, il te suffit de faire le test avec comme String de test "a1b2c3d4" qui est un cas complexe de ce que tu veux.

    De rien, et n'oublie pas le

    F.
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2010, 23h22
  2. problème expression regulière
    Par Davboc dans le forum SQL
    Réponses: 13
    Dernier message: 17/08/2007, 16h02
  3. [RegEx] problème avec expression regulière
    Par teen6517 dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2007, 11h39
  4. Problème expression regulière ??
    Par panaone dans le forum Langage
    Réponses: 5
    Dernier message: 18/08/2005, 13h41
  5. Variables et Expression Regulière
    Par Temari dans le forum Langage
    Réponses: 5
    Dernier message: 05/08/2005, 01h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo