Expression régulière [Résolu]

cs_Ayato 14 Messages postés mercredi 22 janvier 2003Date d'inscription 13 novembre 2006 Dernière intervention - 13 nov. 2006 à 14:38 - Dernière réponse : cs_Ayato 14 Messages postés mercredi 22 janvier 2003Date d'inscription 13 novembre 2006 Dernière intervention
- 13 nov. 2006 à 17:00
Bonjour, a tous…





Je vient de débuté en JAVA, et on ma demander d’écrire un morceau
de code qui doit notamment utiliser les expressions régulières, mais celle-ci
me pose pas mal de problème. 


En effet mes expressions régulières ne marche pas, alors que
je les ai test sur différent site de test prévu à cet effet et que je ai suivie
scrupuleusement les instructions des sites d’apprentissage de JAVA.


<hr size="2" width="100%" />
Voici le morceau code que je test (reprise du site : www.laltruiste.com) :




      public static void main(java.lang.String[] args) {
            System.out.println("+------------------------------------+");
            System.out.println("|   Bienvenue dans mon Programme     |");
            System.out.println("+------------------------------------+\n");
           
            Pattern modele = Pattern.compile("tr",Pattern.CASE_INSENSITIVE);
            Matcher recherche = modele.matcher("tr[1]");
            recherche(recherche);

           
            Demmarrage.ExcecuteURL();
      }
   
        public static void recherche(Matcher recherche) {
            String regexp = recherche.pattern().pattern();
            if(recherche.matches()){
                System.out.println("Une occurrence a été trouvée entre "
                                 + recherche.regionStart()
                                 + " et "
                                 + recherche.regionEnd());
               
                String chaine = recherche.group();
                int debut = recherche.start();
                int fin = recherche.end();

                System.out.println("Modèle     : " + regexp);
                System.out.println("Occurrence : " + chaine);
                System.out.println("Début      : " + debut);
                System.out.println("Fin        : " + fin + "\n");
            }
            else {
                System.out.println("Aucune correspondance n'a pu être "
                                 + "trouvée pour l'expression "
                                 + regexp + "\n");
            }
        }






<hr size="2" width="100%" />
A l’exécution de mon appli voici ce que me donne la console :







+------------------------------------+
|   Bienvenue dans mon Programme     |
+------------------------------------+

Aucune correspondance n'a pu être trouvée pour l'expression tr




<hr size="2" width="100%" />
Merci
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
mouzart 162 Messages postés mardi 26 avril 2005Date d'inscription 6 novembre 2008 Dernière intervention - 13 nov. 2006 à 16:02
3
Merci
slt,
  Utilise plutot la method recherche.find() au lieu de recherche.matches()
allez bon courage

Merci mouzart 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de mouzart
cs_Ayato 14 Messages postés mercredi 22 janvier 2003Date d'inscription 13 novembre 2006 Dernière intervention - 13 nov. 2006 à 17:00
0
Merci
Oui effectivement tu as raison, honte sur moi !!!!


 


 Le problème venait de
la méthode  « .matches() » car
celle-ci s'appliquer à la chaîne de caractères entière, au contraire des
méthodes « .find() ».


 


La prochaine fois je tacherais de liée les caractéristique des
fonctions qui sont utilisée dans les exemples.


 


Merci.
Commenter la réponse de cs_Ayato

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.