[java] expressions régulières

karine -  
jebok Messages postés 358 Statut Membre -
Bonjour !

J'ai une liste d'URL et je ne voudrais garder que celles qui finissent par un /, .html, ou .php

Pour l'instant j'ai fait comme ça :
if ((url.matches("\\/$")) || (url.matches("\\.htm(l*)$")) || (url.matches("\\.php(3*)$"))) {tu gardes}


Mais ça marche pas du tout !! :-)

Les expressons régulières, c'est vraiment le casse tête!

Merci à ceux qui maîtrisent les expressions de m'aider !
A voir également:

3 réponses

jebok Messages postés 358 Statut Membre 51
 
Ici tu pourras télécharger un tutoriel java sur les regex.
Ca t'aidera peut-être à mieux comprendre ces petites bestioles...
Moi aussi j'ai toujours un peu de mal à les utiliser car c'est un peu anti-naturel mais bon...
4
karine
 
Merci teebo,

j'ai rajouté (.+) devant et ça marche.

J'ai toujours eu du mal à comprendre ces expressions !

A+
1
teebo Messages postés 33570 Statut Modérateur 1 793
 
Salut,
Deux choses, être sûr(e) de ne pas avoir de PHP par exemple (c'est case sensitive je crois),
mais surtout, je ne vois pas à quoi servent tes \\, tu devrais mettre (.)+ à la place je crois...

(url.matches("(.)+/$"))
(url.matches("(.)+\.htm(l)?$"))
(url.matches("(.)+\.php(3)?$"))

A priori c'est bon à moins que les regex java soient tordues...


0