Expression régulière particulière - C#/.NET managed - Programmation
Marsh Posté le 16-05-2007 à 14:32:59
Etant donné que je ne connais pas grand chose aux expressions régulières, j'aimerais juste connaître la méthode pour effectuer la récurrence dans les parenthèses parce que le reste semble accessible.
^/(\()[1-5].((AND|OR).[1-5].){0|1}\)
Enfin bon, je ne sais pas comment l'agencer, j'ai compris le plus gros mais pas l'essentiel...
Marsh Posté le 18-05-2007 à 14:27:55
La récurrence ce n'est pas le fort des expressions régulières, tu ne pourras donc pas gérer tous les cas avec une simple regex.
Ce que tu demandes ressemble plutôt à ce qu'effectue un tokenizer.
En gros, tu vas certainement devoir analyser la chaîne "à la mano". Les regex peuvent t'aider à diviser ta chaine en plusieurs jetons, et tu devras ensuite analyser le sens de chaque jeton pour construire un arbre pour ton expression.
Le but étant ensuite de pouvoir interroger l'arbre comme une expression.
Bienvenue dans le monde des parser/lexer
Marsh Posté le 22-05-2007 à 15:32:38
styx31 a écrit : La récurrence ce n'est pas le fort des expressions régulières, tu ne pourras donc pas gérer tous les cas avec une simple regex. |
Merci beaucoup du coup de paluche , en effet, j'ai décomposé grace à ce StringTokenizer ma phrase ( ==> parser) et ensuite j'ai pu analyser syntaxiquement les "jetons" de ma phrase ( ==> lexer).
Dommage pour la RegEx, j'aurais bien aimé...
Marsh Posté le 16-05-2007 à 11:25:12
Je souhaiterais faire une expression régulière vérifiant la validité d'une chaîne de caractère selon le format suivant :
Exemples :
Merci d'avance
Message édité par Goose6 le 16-05-2007 à 11:25:50