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

API standards et tierces Java Discussion :

[Expression Régulière] Ok sur JRegexTester, mais pas sur mon Test.java


Sujet :

API standards et tierces Java

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut [Expression Régulière] Ok sur JRegexTester, mais pas sur mon Test.java
    Bonjour,
    Je fais une fonction pour tester si une uri peut être dispatché vers une de mes pages JSP.

    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      private  boolean test(String regexp, String uri) {
     
            System.out.println("uri to test : "+uri);
            System.out.println("regexp : "+regexp);
            Pattern p = Pattern.compile(regexp);
            Matcher m = p.matcher(uri);        
            return m.matches();
     
        }
    Alors test("/wsedupassion/account/volunteer", "/wsedupassion/account/volunteer"); ne me pose pas de soucis. J'ai deux string identiques.

    Maintenant, je voudrais quand même valider par exemple :
    "//wsedupassion/account//volunteer", car on a vite fait de laisser trainer des '/' en trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private  boolean test(String regexp, String uri) {
     
            System.out.println("uri to test : "+uri);
            System.out.println("regexp : "+regexp);
            String likeUri = uri.replace("/", "[/]+");
            System.out.println("likeUri : "+likeUri);
            Pattern p = Pattern.compile(regexp);
            Matcher m = p.matcher(likeUri);        
            return m.matches();
     
        }
    Et là, stupeur ! JRegexTester me dit OK, alors que ma fonction me renvoit false.
    Je galère comme pas possible avec Java et ses regexp, alors tout me semble normal en javascript

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    String likeUri = uri.replace("/", "[/]+");
    replace ne prend pas des RegExp
    même si elle le faisait, l'ordre n'est pas bon

    Essaies avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String likeUri = uri.replaceAll("/+", "/");

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2007, 19h20
  2. Pb de compilation sur VC++ mais pas sur CodeBlocks
    Par deubelte dans le forum Visual C++
    Réponses: 4
    Dernier message: 05/03/2007, 09h35
  3. [AJAX] Ajax fonctionne sur onblur mais pas sur onkeypress
    Par julien.63 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2007, 15h14
  4. Requête OK sur easyphp mais pas sur mon hébergeur
    Par Pgs dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/10/2006, 19h09
  5. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 11h31

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