IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Regex trouver tous les chemins intermédiaires


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Par défaut Regex trouver tous les chemins intermédiaires
    Bonjour,


    J’ai une questions sur les regex java ...
    En fait, je dois sortir tous les chemins qui sont compris entre :
    siteLong : /internet/domain/site1/site2/site3/site4
    Et siteCourt :/domain/ec.europa.eu/site1

    Le résultat doit être :
    /internet/ domain /site1/site2
    /internet/ domain /site1/site2/site3
    Eventuellent en incluant une ou les deux bornes si plus facile.

    J’ai pour l’instant écrit le code suivant, qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    					String regularExpression = "([a-zA-Z]:)?(\\\\[.a-zA-Z0-9_-]+)+\\\\?";
     
    					final Pattern pattern = Pattern.compile(siteCourt +regularExpression); //to be adapted 
    					final Matcher matcher = pattern.matcher(siteLong );  //to be adapted
    					while(matcher.find()) {  
    						final String group = matcher.group(2);  
    						System.out.println(group);
    					}
    Comment puis-je adapter mon expression régulière ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Par défaut regex ou substring
    Je me demande s'il n'est pas plus facile d'utiliser un algorithme permettant d'extraire toutes les substrings d'un path?
    C'est-à-dire tous les chemins entre /site1/site2 et /site1/site2/site3/site4/site5...

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Je n'ai pas tout compris, mais un split sur le caractère / ne te suffit pas ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Par défaut split...
    Le split pourrait être une bonne idée, mais après il faut alors concaténer les différentes chaînes?

  5. #5
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Salut !

    Citation Envoyé par Pedro4 Voir le message
    Le split pourrait être une bonne idée, mais après il faut alors concaténer les différentes chaînes?
    Je ne comprends pas trop non plus. Pourquoi récupérer les différentes parties d'une URL pour ensuite les concaténer ?

    Mais sinon la réponse de fr1man est la bonne.

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Si j'ai bien compris le problème, il y a plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String url = "/internet/domain/site1/site2/site3/site4";
    for( int i = 1 ; i < url.length() ; ++i )
    {
    	if( url.charAt( i ) == '/' )
    	{
    		System.out.println( url.substring( 0, i ) );
    	}
    }
    Et voici le résultat :
    /internet
    /internet/domain
    /internet/domain/site1
    /internet/domain/site1/site2
    /internet/domain/site1/site2/site3
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver tous les chemins possibles d'un trajet (d'un point A à un point B)
    Par chakirlbr dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 16/12/2014, 14h54
  2. Trouver tous les chemins entre deux noeuds dans un graphe qui contient des boucles
    Par GayaStudent dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 21/11/2014, 21h31
  3. Trouver tous les chemins d'un fichier
    Par Invité dans le forum VB.NET
    Réponses: 21
    Dernier message: 14/03/2012, 17h58
  4. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36
  5. Trouver tous les objets d'un certain type dans un document?
    Par kobe dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 03/11/2005, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo