[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:
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:
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 :bug::bug::bug::bug: