regex [JAVA]

Voir le sujet précédent Voir le sujet suivant Aller en bas

regex [JAVA]

Message  didi le Mer 09 Mai 2012, 22:21

bonsoir

j'ain ptit problem avec regex en java


Code:
public class Main {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {


        String s = "<HTML> la balise html </HTML>";

        System.out.println("La chaine est : " + s);

// Test 1

        if (s.matches("^<HTML>")) {
            System.out.println("La chaine contien balise HTML ");
        }
   

// Test 2 avec Pattern et Matcher ...

        Pattern pattern = Pattern.compile("^<HTML> la balise html ");
          Matcher matcher = pattern.matcher(s);
       
            if (matcher.matches()) {
                System.out.println("OK ! ! ");
            } else {
                System.out.println("PAS OK ! ! ");
            }
      }

le resultats affiche System.out.println("PAS OK ! ! ");

est-ce que "^<HTML>" bien une expression ...?

merci d'avance Smile

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  pbt le Jeu 10 Mai 2012, 06:31

Vérifie s'il ne faut pas échapper les chevrons (sans certitude, car je n'ai pas le temps de vérifeir maintenant)

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  mcd le Jeu 10 Mai 2012, 09:14

Avec matches, on vérifie si TOUTE la chaine correspond au pattern.
De plus le '^' indique une négation et pas le début de la chaine comme avec les expressions régulières sur Unix.
Donc j'utiliserais plutôt un truc du genre "<HTML>.*"

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  didi le Jeu 10 Mai 2012, 19:01

c'est bizzare je viens de tester ...

Code:
if (s.matches("[a-z]*")) {
            System.out.println("La chaine contien balise HTML ");
} else {
System.out.println("PAS OK ! ! ");
}

ça marche pas toujour Sad Sad ...

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  mcd le Jeu 10 Mai 2012, 21:20

Ton pattern indique "une suite de taille quelconque de LETTRES" ce qui ne peut pas matcher "<" ni ">"

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  didi le Jeu 10 Mai 2012, 22:38

mcd a écrit:Ton pattern indique "une suite de taille quelconque de LETTRES" ce qui ne peut pas matcher "<" ni ">"

maintenant j'ai enlever les balise
la chaine est :
Code:
String s = "la balise html";
if (s.matches("[a-z]")) {
System.out.println(" OK ");
}  else {
System.out.println("PAS OK ! ! ");
}

ça marche pas toujour SadSad

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  Dj x-fuse le Jeu 10 Mai 2012, 22:44

les espaces sont pas comptés comme caractère alphabétique Smile

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  pbt le Ven 11 Mai 2012, 09:06

Chez moi ce code fonctionne
Code:
public class Matches {
   public static void main(String[] args){
      String s = "<HTML>Lorem lorem";
      if (s.matches("^<HTML>.*")) {
         System.out.println("match");
      } else {
         System.out.println("not match");
      }
   }
}

À ce sujet, la signification de '^' change suivant le contexte. Dans une expression, il précise le début de l'expression et dans une classe, il précise la négation.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: regex [JAVA]

Message  Contenu sponsorisé Aujourd'hui à 20:39


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum