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

Détecter un conflit entre deux expressions régulières


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club Avatar de Picsonald
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 23
    Points : 39
    Points
    39
    Par défaut Détecter un conflit entre deux expressions régulières
    Bonjour à tous,

    Après des recherches sur votre forum et ailleurs, je reste bloqué devant un défi technique : je n'arrive pas à détecter un conflit entre deux expressions régulières. Illustration (schématique) :

    Les expressions régulières ont la syntaxe de « filtres » de fichiers Windows.

    Voici un nom de fichier : « ALIB.TXT »

    Et trois expressions régulières, et le résultat qu'elles renvoient (Match) :
    • Expression 1 : « A*B.TXT » = OUI
    • Expression 2 : « AL*.TXT » = OUI
    • Expression 3 : « B*.TXT » = NON


    Conclusion :
    • Les expressions 1 & 2 peuvent être en conflit
    • Les expressions 1 & 3, et 2 & 3 ne peuvent jamais être en conflit (impossible)


    La question à laquelle je ne trouve pas de réponse est... :
    Comment faire pour détecter que les expressions 1 & 2 peuvent être en conflit ?

    Je code en C#, et j'ai besoin de coder une méthode qui ressemblerait à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bool IsConflitualRegex(string expr1, string expr2)
    {
      // Code difficile à écrire
      // return true ou false;
    }
    Est-ce que l'un d'entre vous aurait des pistes à me soumettre ?

    Merci d'avance,

    Picsonald.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Je crois que c'est un problème assez difficile pour être codé dans une fonction, car si je comprends bien, tu cherche un moyen qui permet de dire que deux Regex sont équivalentes (Dans le monde des Maths cela revient à trouvé un invariant).
    Voilà un lien où on parle de ce problème
    http://fr.softuses.com/73604

  3. #3
    Nouveau membre du Club Avatar de Picsonald
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 23
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse !

    En effet, ton lien m'a mené vers les liens suivants :


    Je ne connaissais pas du tout ces notions mathématiques autour des expressions régulières. Une piste pour moi sera de déterminer le DFA minimal de mes regex, pour ensuite les comparer... Sachant qu'en plus, en C#, on a un moteur NFA.

    Je crois bien que c'est trop dur pour moi. Je vais abandonner le développement de cette méthode.

    Merci pour ton aide, mokfajri.

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/07/2011, 17h25
  2. Conflit entre deux js dans une page HTML (inclure plusieurs js)
    Par karinemariejeanne dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/06/2007, 16h31
  3. [MySQL] conflit entre deux fonction while
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/12/2006, 12h56
  4. [MySQL] Conflit entre deux fonction WHILE
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2006, 18h15
  5. Réponses: 3
    Dernier message: 07/07/2006, 18h00

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