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

Langage Java Discussion :

mystère du regexp (reconnaissance partielle)


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut mystère du regexp (reconnaissance partielle)
    Bonjour je viens vous exposé un mystère

    j'ai la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ((((MyCheckBox)_list.get(i)).getText()).matches(value+"[ ()1-9]*"))
    si value = tf2 et le texte est tf2 (34) ca marche par contre
    pour un value =tf1 et un texte tf1 (20) ca marche pas ...

    le code complet de la methode
    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
     
    public void select(String value){
    		System.out.println("avt select ?");
    		for (int i = 0; i<_list.size(); i++)
    		{
    			System.out.println(value+"[ ()1-9]*"+" "+((MyCheckBox)_list.get(i)).getText());
    			if ((((MyCheckBox)_list.get(i)).getText()).matches(value+"[ ()1-9]*"))
    			{
    				System.out.println("select ?");
    				if (!((MyCheckBox)_list.get(i)).isSelected())
    					((MyCheckBox)_list.get(i)).doClick();
    				return;
    			}	
    		}
    	}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Ton expression régulière est fausse. Si tu veux définir un nombre en regex il faut faire [0-9]+ et non pas [1-9]+ sinon ton programme ne reconnaitra pas le 0 comme un chiffre. Voilà pourquoi tf1 (20) n'est pas reconnue alors que tf2 (34) oui.

  3. #3
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par kei2906 Voir le message
    Ton expression régulière est fausse. Si tu veux définir un nombre en regex il faut faire [0-9]+ et non pas [1-9]+ sinon ton programme ne reconnaitra pas le 0 comme un chiffre. Voilà pourquoi tf1 (20) n'est pas reconnue alors que tf2 (34) oui.
    Ahhhh .. en lisant ton poste g pensé au 0 des les 3 premier mot lol ... voila je passe pour une idiote ... ahahah !

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

Discussions similaires

  1. faire un update partiel
    Par danseur dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/01/2004, 18h27
  2. [langage] [RegExp] Question d'expression régulière
    Par cloogy dans le forum Langage
    Réponses: 5
    Dernier message: 08/10/2003, 09h29
  3. regexp
    Par mathieu gérard dans le forum ASP
    Réponses: 4
    Dernier message: 02/10/2003, 18h05
  4. Réponses: 23
    Dernier message: 16/11/2002, 19h41
  5. [langage] Reconnaissance de mots
    Par Flo. dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2002, 23h34

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