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 :

Expression reguliere: probleme de pattern


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Points : 52
    Points
    52
    Par défaut Expression reguliere: probleme de pattern
    Bonjour,

    je souhaite savoir si ce que cherche à tester est possible avec les regex:

    Le format de la chaine à tester est le suivant:
    - 1 à n lettres
    - 2 à n chiffres
    - 1 série de lettres et/ou chiffres facultative

    exemples: abc12de5, a123, ab15cd6
    contre-exemples pour lesquels ça ne doit pas marcher:
    - une lettre, une chiffre, une lettre (ex: d5a)
    - 2 lettres, un chiffre (ex: sy7)

    Mon pattern est le suivant:
    ([a-zA-Z\\s]+)([a-zA-Z0-9]{2,})([a-zA-Z0-9_]*)

    Et le problème est qu'il matche aussi bien le format correct que les formats des contre-exemples...
    Est il possible de modifier le pattern pour ne pas prendre en compte les contre-exemples et récupérer la série de chiffres du groupe 2?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    "([a-zA-Z]+)([0-9]{2,})([a-zA-Z0-9]*)"

    Si ta chaîne doit exactement matcher le pattern si dessus (plutôt que le trouver quelque part dans une autre chaîne), utilise ceci à la place :

    "^([a-zA-Z]+)([0-9]{2,})([a-zA-Z0-9]*)$"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Points : 52
    Points
    52
    Par défaut
    Ah oui j'ai fait une erreur sur ma deuxième parenthèse. Du coup c'est logiquement possible...

    Par contre, ça ne fonctionne que si je ne mets pas ^, ni $: dès que je mets des caractères de début et de fin dans mon pattern, il ne match plus rien.

    Merci Dingoth

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Bizarre... À moins que ce que tu cherches soit compris dans une autre chaîne.

    Enfin, si ton problème est résolu, pense au bouton

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Points : 52
    Points
    52
    Par défaut
    Non non, c'est pas compris dans une autre chaine. Je vais creuser un peu de ce coté.

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

Discussions similaires

  1. Expression régulière problème
    Par cyrill.gremaud dans le forum Langage
    Réponses: 11
    Dernier message: 25/08/2006, 15h21
  2. Expressions régulières : problèmes
    Par Malibu31 dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2006, 16h17
  3. [langage] problème expression régulière
    Par chtiboss dans le forum Langage
    Réponses: 6
    Dernier message: 05/01/2004, 16h08
  4. Réponses: 2
    Dernier message: 04/01/2004, 15h14
  5. [langage] expression reguliere motif répétitif dans 1 pattern
    Par comme de bien entendu dans le forum Langage
    Réponses: 11
    Dernier message: 09/04/2003, 16h14

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