[java] expressions régulières

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. 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
    1. Merci teebo,

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

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

      A+
      1
      1. Contributeur
        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