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.