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 :

Regex en java


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 14
    Par défaut Regex en java
    Salut ..

    Ne comprends rien ...
    Voila je veux créer un regex qui me reconnait des chaines de caractères..
    Ex : [Mail] le regex <=> tout ce qui comporte au moins un crochet "[" et pareil pour l'autre "]", restriction pas de caractère de type : et )] et # .
    Donc mon motif dnas lequel je n'ai mis pour le moment que la première restriction -> "[\\[{1}?\\]{1}?[^:]]$", ben la restriction : ne marche pas. j'ai du oublier qq chose ou je ne comprends rien des regex ..

    Auriez vous une idée ?????
    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 14
    Par défaut Le regex il faut plancher
    Bon j'ai trouvé qq chose qui marche.
    [Mail] ou [ Mail ]avec ou sns espace .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[\\[]{1}+([a-zA-Zespace&&[^:#&&[^\\)\\]]]]){2,}[\\]{1}+]$
    pour lire toute la ligne ^ ......$
    je veux un crochet de début et de fin \\[{1}+ et \\]{1}+
    et le reste du classiques ([a-zA-Zespace&&[^:#&&[^\\)\\]]]]){2,}, je pense que l'on peut optimiser cette partie....
    Si qq à une suggestion je suis preneur ...

  3. #3
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Pour la regex qui matche toutes les lignes qui contiennent [.......] il suffit de faire çà:

    Si c'est pas ça que tu cherche, explicite un peu, tes messages sont assez obscurs

  4. #4
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 14
    Par défaut si tu le dis
    Je te remercie ...
    En faite je veux créer une méthode qui me permet de reconnaitre des lignes spécifiques :
    Ex: [Mail] pour reconnaitre cette ligne, il que j'ai un crochet et pas plus en début de ligne, des caracatères avec ou sns espaces entres ces crochets et un crochet de fermeture .
    possibilité : [Mail], [ Mail ], [Mail ], [ Mail] .
    D'ou cette regex :

    ^[\\[]{1}+([a-zA-Z &&[^:#&&[^\\)\\]]]]){2,}[\\]{1}+]$

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    La regexp de tchize_ me semble tout à fait convenir au problème ou alors je ne l'ai pas compris !

    flexDev : Ta regexp est incompréhensible !
    Décompose clairement ton problème et retranscrit le petit à petit, que ce soit en français ou en regexp.

    a++

  6. #6
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 14
    Par défaut Explication de ma regex
    possibilité : [Mail] ou [ Mail ] ou [Mail ] ou [ Mail] .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[\\[]{1}+([a-zA-Z &&[^:#&&[^\\)\\]]]]){2,}[\\]{1}+]$
    Comme je veux parcourir toute ma chaîne, j'ai mis ^pour indique le début de la ligne et $ pour indiquer la fin de ma ligne.

    Ensuite comme je veux un crochet en début de ligne
    ^[\\[]{1}+$
    Puis entre les crochets, j'ai les possibilités citées au dessus [ Mail ], il des caractères avec ou sans espaces.
    D'ou cette partie : ([a-zA-Z &&[^:#&&[^\\)\\]]]]){2,}, si on décompose
    [^\\)\\]] -> pas ce type )]
    ^:# - > et pas ces caractères .
    a-zA-Z - tout types de textes, avec un minimum de 2 caractères.
    D'ou les parenthèses (...){2,}
    ce n'est pas évident de faire passer son idée, j'espère que c'est clair ???
    L'exemple est bon, mais j'y est mis plus de restrictions...

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

Discussions similaires

  1. Regex en java dans un tmap
    Par Scorff dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 15/11/2010, 11h52
  2. Regex en Java (ordre d'apparition)
    Par sampaiX dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 29/06/2010, 13h38
  3. Convert C# RegEx to Java RegEx
    Par hbespoir2003 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 17/06/2010, 23h31
  4. Document sur les REGEX en Java
    Par sampaiX dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/06/2010, 20h10
  5. Probleme algo ou regex en java
    Par ox@na dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 24/06/2008, 20h52

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