Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Regex

Problème de capture

Anonyme
    22 mars 2008 à 15:32:57

    Bonjour,

    Je rencontre un problème avec les expressions régulières :

    Je veux pouvoir analyser une chaîne dans le genre "mot(|s) bizarre(|s)" et en tirer les chaînes suivantes :
    • mot bizarre
    • mots bizarres


    Pour cela, je dois pouvoir capturer toutes les parenthèses mais j'ai un soucis, voici ma regex :

    1. QRegExp exp("(\\([a-zA-Z]*\\|[a-zA-Z]*\\))*");
    2.         int position = exp.indexIn(test);
    3.         cout << "positon : " << position << " ; taille : " << exp.matchedLength() << endl;
    4.         QString racine = testStd.substr(0, position).c_str();
    5.         cout << "Racine : " << testStd.substr(0, position) << endl;
    6.         QStringList captures = exp.capturedTexts();
    7.         for(int i = 0 ; i < captures.size() ; i++)
    8.         {
    9.                 cout << captures[i].toStdString() << endl;
    10.         }


    Celui-ci ne capture rien mais si j'enlève la première paire de parenthèses, je peux récupérer la première occurrence de l'expression uniquement.
    • Partager sur Facebook
    • Partager sur Twitter

    [Qt] Regex

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown