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

Qt Discussion :

[QRegExp] demande d'aide


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [QRegExp] demande d'aide
    Bonjour à tous,
    je me suis documenté sur QRegExp mais je ne trouve pas comment faire deux choses. J'avais une fonction équivalente en php qui était celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    function recuperer_titre($chaine)
    {
    preg_match_all('`<title>(.*)</title>`sU', $chaine, $resultats); 
    $titre = $resultats[1][0];
    return $titre;
    }?>
    qui permet de récupérer le texte entre les balise title, comment puis-je faire cela avec QRegExp ?

    Sinon comment supprimer tout ce qui se trouve derrière une chaine ?
    Par exemple, j'ai une chaine "Bonsoir comment ça va....etc", et je couhaite supprimer tout à partir de "ça" inclus.

    Merci d'avance

  2. #2
    Membre éclairé Avatar de duplo
    Inscrit en
    Octobre 2004
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2004
    Messages : 294
    Par défaut
    salut,

    pour sa dans la doc est ecrit :

    In the following example we match strings containing 'mail' or 'letter' or 'correspondence' but only match whole words i.e. not 'email'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     QRegExp rx("\\b(mail|letter|correspondence)\\b");
             rx.indexIn("I sent you an email");     // returns -1 (no match)
             rx.indexIn("Please write the letter"); // returns 17
    The second string matches "Please write the letter". The word 'letter' is also captured (because of the parentheses). We can see what text we've captured like this:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QString captured = rx.cap(1); // captured == "letter"
    voila !

    je ne te donne pas un morceau de code tout fait et adapté a ta question sinon c'est un peux facile et ce n'est pas comme cela que l'on apprend

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Je ne sais pas quel était ta solution, mais j'ai fait cela qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    QString FenRecuperation::recuperer_titre(QString code)
    {
    QRegExp regex_1;
    regex_1.setPattern( "<html>(.*)<title>"  );
    code.replace(regex_1, "" );
     
    regex_1.setPattern( "</title>(.*)"  );
    code.replace(regex_1, "" );
     
    return code;
    }
    Je ne vois pas la façon dont tu parlais, si tu veux la mettre que je comprenne ça serait sympa. Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Et une question,
    est-ce que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    regex_1.setPattern( "<script(.*)</script>"  );
        tout.replace(regex_1, "" );
    est équivalent à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tout = preg_replace("`<script(.*)</script>`sU", "", $tout);
    ?

    Car quand je le fait en php ça me donne ce que je veux et en c++, il me supprime presque tout le code de la page .. je ne comprend pas pourquoi.

    Merci d'avance

    Cordialement
    NeoKript

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

Discussions similaires

  1. Demande d'aide pour query difficile
    Par ericjean514 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/02/2005, 18h52
  2. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  3. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38
  4. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

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