expression régulière pour chercher une suite de caractères(avec QT)
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

expression régulière pour chercher une suite de caractères(avec QT)



  1. #1
    Bounoume

    expression régulière pour chercher une suite de caractères(avec QT)


    ------

    Bonsoir,
    connaissant très très mal la syntaxe des expressions régulières (je fuis grep comme la peste.....), j'aurais pourtant besoin d'une, correcte, pour rechercher la position du début d'un délimiteur dans une chaîne de caractères.... tout bêtement ce qui peut signaler la fin d'une phrase dans un texte ordinaire!

    QT me propose la fonction QString::indexOf(QRegExp & rx, int from = 0 )
    après avoir pioché ça: https://fr.wikipedia.org/wiki/Expres...A9guli%C3%A8re
    Voilà ce que j'ai pondu, pour rechercher le 1 er caractère de la suite de deux:

    Point suivi de Point
    Point suivi d'espace (comment représenter l'espace?par un simple espace dans la liste?????)
    Point suivi de retour à la ligne \n (ou saut de page)
    Deux-points suivi de point
    Deux-points suivi d'espace (comment représenter l'espace?)
    Deux-points suivi de retour à la ligne \n (ou saut de page)

    pareil pour le point d'exclamation
    pareil pour le pont d'interrogation
    je sais qu'entre crochets on met l' énumération des caractères dont l'1 d'entre eux doit figurer dans la cible

    pour info, buf est un objet QString, et i est l'entier index à partir duquel commencer la recherche de conformité à mon expression régulière

    i1=buf->indexOf(QRegExp("[.:!;?][. \f\n]") , i); //terminateur suivi de Point ou Espace ou Page ou Return
    Qu'en pensez-vous?
    Est-ce que l'expression "[.:!;?][. \f\n]" décrit bien le critère de sélection désiré?
    merci d'avance
    hp

    -----
    Dernière modification par Bounoume ; 22/05/2019 à 23h33.
    rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)

  2. #2
    Bounoume

    Re : expression régulière pour chercher une suite de caractères(avec QT)

    ou alors ce serait, en remplaçant l'espace (peu visible à l'écran...) entre le " . "et le premier " \ " :


    "[.:!;?][.\s\f\n]" avec \s qui représente l' espace ascii (valeur \32 en base 10 , ou \hex20 ) ?

    ou alors
    "[.:!;?][.\32\f\n]" ???
    rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)

  3. #3
    polo974

    Re : expression régulière pour chercher une suite de caractères(avec QT)

    avec qt, ça devrait être:
    Code:
    "[\.:!;\?][\. \n\r\f]"
    j'ai mis \r en plus de \n, car parfois, le retour à la ligne est du genre "\r\n" chez bricosoft...

    pas sûr qu'il faille escaper le . et le ? (avec le \) dans une liste, mais ça ne mange pas de pain de le faire...

    https://doc.qt.io/archives/qt-4.8/qregexp.html
    Jusqu'ici tout va bien...

Discussions similaires

  1. PHP expression régulière (compatible-Perl) sous masque
    Par lahmed dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 17/09/2009, 00h21
  2. Mars 2009, les poissons ne se vends, alors on les jètent et on retourne de suite en chercher. Oui! I
    Par inviteecd9bf9c dans le forum Environnement, développement durable et écologie
    Réponses: 2
    Dernier message: 09/03/2009, 13h36
  3. [M1 Représentations des groupes finis] Représentation régulière, caractères...
    Par invitebb921944 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 30/08/2008, 14h31
  4. chercher la suite.
    Par invitefffb8ef1 dans le forum Science ludique : la science en s'amusant
    Réponses: 37
    Dernier message: 06/12/2005, 12h55