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

Discussion: Pattern pour TRegex

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 632
    Points : 2 432
    Points
    2 432

    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
    Inscrit en
    janvier 2007
    Messages
    9 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 718
    Points : 23 645
    Points
    23 645
    Billets dans le blog
    16

    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
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Berlin, Tokyo) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

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

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

    Informations forums :
    Inscription : mars 2010
    Messages : 678
    Points : 1 602
    Points
    1 602
    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
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 2 632
    Points : 2 432
    Points
    2 432

    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, 20h59
  2. Réponses: 5
    Dernier message: 21/06/2006, 15h47
  3. Patterns pour update
    Par Samish dans le forum MS SQL-Server
    Réponses: 3
    Dernier message: 15/06/2006, 14h56
  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, 13h39
  5. Design Patterns pour l'Evolutivité ?
    Par TrollMaster dans le forum Design Patterns
    Réponses: 7
    Dernier message: 20/01/2005, 13h47

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