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 Delphi Discussion :

Pattern pour TRegex


Sujet :

Langage Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 386
    Points : 2 999
    Points
    2 999
    Par défaut Pattern pour TRegex
    Bonjour

    Je sais, c'est plutôt un problème d'expression régulière mais comme ça doit fonctionner avec le TRegex de Delphi .....

    Je cherche à parser un fichier dfm pour repérer tous les

    'TableName = 'ACTIONS'
    ou
    'TableName = 'ACTIONS.DBF'

    Je n'arrive pas à trouver la syntaxe pour rendre optionnelle l'extension.
    Ok, je pourrais faire 2 tests mais il y a sûrement une façon de l'écrire en un seul.

    Vous savez comment ??

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    un petit Expresso (pas le café, le gui)
    et je peux te proposer
    Code RegEx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ^.*TableName\s='{1}ACTIONS.*'{1}.*$
    pas le top
    Code RegEx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ^.*TableName\s?='{1}ACTIONS.*'{1}.*$
    espace optionnel
    Code RegEx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ^.*TableName\s?=\s?'{1}ACTIONS(?:\.DBF)?'{1}.*$
    espace et groupe .DBF optionnel

    pas sur que ce soit juste juste, je suis pas un pro de l'expression régulière, mais les tests
    TableName ='ACTIONS'
    aaaaaaTableName='ACTIONS.DBF'bbbb
    TableName='TOTO' le fameux
    fonctionnent (deux premiers ok)
    comme c'est dans un dfm je dirais que
    Code final : Sélectionner tout - Visualiser dans une fenêtre à part
    ^\s*TableName\s?=\s?'{1}ACTIONS(?:\.DBF)?'{1}\s*$
    devrait fonctionner

    NB. je ne sais pas quel balise mettre pour [CODE= ] l'affichage des proposition est donc un peu bizarre
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Simplement avec ce regex ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^'TableName = ('ACTIONS'|'ACTIONS.DBF')$
    Sinon vu que tu vas parser le fichier, tu peux utiliser :
    Edit: grillé par Sergio

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 386
    Points : 2 999
    Points
    2 999
    Par défaut
    retwas :
    en fait, j'avais essayé avec ... ACTIONS[.DBF|] mais ça n'a rien donné.
    J'aurais pu prendre l'expression complète, c'est vrai.

    Sergio:
    J'ai bien utilisé Expresso comme à mon habitude, mais j'ai calé :-(
    Il me manquait le ?:


    Merci à vous deux .

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

Discussions similaires

  1. Les design pattern pour créer des jeux
    Par alex6891 dans le forum Design Patterns
    Réponses: 4
    Dernier message: 26/11/2018, 19h59
  2. Réponses: 5
    Dernier message: 21/06/2006, 14h47
  3. Patterns pour update
    Par Samish dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/06/2006, 13h56
  4. Quel design pattern pour réaliser une synthèse
    Par jbwan dans le forum Design Patterns
    Réponses: 3
    Dernier message: 21/04/2006, 12h39
  5. Design Patterns pour l'Evolutivité ?
    Par TrollMaster dans le forum Design Patterns
    Réponses: 7
    Dernier message: 20/01/2005, 12h47

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