[java] expressions régulières

karine -  
jebok Messages postés 371 Date d'inscription   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 !

3 réponses

  1. jebok Messages postés 371 Date d'inscription   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
  2. karine
     
    Merci teebo,

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

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

    A+
    1
  3. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    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