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