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

avec Java Discussion :

Problème avec les expression régulières


Sujet :

avec Java

  1. #1
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut Problème avec les expression régulières
    Bonjour, voici donc mon problème :
    je dois décortiqué par exemple ce code html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="download_file_name"> titre du fichier.zip </div>
                        <div class="fm_files_icon_avi"></div>
                        <div class="download_file_size"> 202.57 MB </div>
    en fait, c'est le code produit par megaupload, car je cherche à récupérer le titre d'un fichier à partir de l'url.

    donc j'ai fais ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    String result = Framework.fileGetContents("http://www.megaupload.com?d=xxxxxx");
    		if(result.matches(".*<div class=\"na_text\"> Invalid link </div>.*")){
    			System.out.println("lien invalide");	
    		}else{
    			if(!result.matches(".*www\\.megaupload\\.com/\\?c=msg.*")){
    				filename = result.replaceFirst(".*<div class=\"download_file_name\">(.+)</div><div class=\"fm.*", "$1");
    				System.out.println(filename);
    			}else{
    				System.out.println("Nb de requête max atteint !");
    				System.exit(0);
    			}
    		}
    seulement ça me donne ceci :

    titre du fichier .zip ... et tout le reste du code derrière ... </html>
    bon alors je connais le pb, du moins en PHP, pour éviter ça on met la regex en "mode économique" grâce à une option.

    En fait, il faut lui dire de s'arrêter au premier masque trouvé !
    mais je n'arrive pas à trouver comment faire en java ... (je suis très mauvais dans les regex en java )

    au passage, je me demande si ce n'est pas un peu du bricolé ma manière de vérifier la validité d'une url mega upload ...
    mais je ne vois pas comment faire d'autre.
    d'ailleurs megaupload a changer de design il y a peu et jdownloader à immédiatement publié une nouvelle version, sans doute parce que jdownloader utilise la même technique ...

    merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    Salut,

    J'ai suis pas sur d'avoir saisi ce que tu veux faire mais

    Pour
    récupérer le titre d'un fichier
    Tu peux faire comme ça (il faut ajouter 2/3 tests de nullité en plus)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
     
    public class Test {
     
    	public static void main(String[] args) {
    		String test ="<div class=\"download_file_name\"> titre du fichier.zip </div>";
    		Pattern pattern = Pattern.compile(">(.*).zip");
    		Matcher matcher = pattern.matcher(test);
    		System.out.println(matcher.find());
    		String group = matcher.group();
    		System.out.println(group);
    		String substring = group.substring(1, group.length()-4);
    		System.out.println(substring);
    	}
    }

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Points : 281
    Points
    281
    Par défaut
    merci beaucoup ...
    pour la première réponse, je ne comprends pas parce que je ne connais pas, mais je vais me renseigner. Pour la deuxième c'est exactement ce que je cherchais ... donc merci beaucoup !

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

Discussions similaires

  1. [RegEx] problème avec les expression régulières
    Par Medmidou dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2007, 18h35
  2. Problème avec les expression régulière
    Par fouyou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 04/07/2007, 18h19
  3. [C#] problème avec les expressions régulières
    Par luimême dans le forum C#
    Réponses: 1
    Dernier message: 13/06/2007, 15h44
  4. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56
  5. Problème avec les expressions régulières
    Par Premium dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 18/06/2006, 16h41

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