Verification syntaxique expression logique - HTML/CSS - Programmation
Marsh Posté le 09-01-2004 à 10:53:54
oui une expression régulière peut faire ça ... par contre il va falloir que tu détermine précisement quelles expressions tu entend par logique car il y a pas mal de possibilité ...
Marsh Posté le 09-01-2004 à 10:56:52
Azzazel a écrit : oui une expression régulière peut faire ça ... par contre il va falloir que tu détermine précisement quelles expressions tu entend par logique car il y a pas mal de possibilité ... |
C'est justement le problème : les expressions seront avec des chiffres, des + et *, des ( et ) et !. Tout ça enchevêtré avec une grammaire minimale. Et c'est là que ça me pose problème car il me semblait que pour utiliser les regexp, il fallait des repères dans la chaîne, et là, il n'y a ni caractère fixe, ni longueur minimale ou maximale.
Marsh Posté le 09-01-2004 à 11:27:23
Tu veux décrire une grammaire ?
Moi je proposais juste de vérifier si il n'y avait pas de caractères bidon =)
Regarde donc du côté des grammaires algébrique ... mais je connais pas de ressources toute faite en JS.
Marsh Posté le 09-01-2004 à 11:29:51
Il existe aussi une solution plus simple en faite mais tout dépend de ce que tu souhaite faire ...
Il te suffit d'évaluer l'expression ... s'il elle ne te renvoi pas un booléen c'est qu'elle n'est pas logique =)
Voilà
Marsh Posté le 09-01-2004 à 11:32:55
Azzazel a écrit : Tu veux décrire une grammaire ? |
là, j'ai attaqué un script à la Warrior sans finesse du tout Du coup, la regexp c'est juste pour ma culture générale, mais c vrai que ça me titille....
Je continue à chercher
Merci en tout cas pour ton coup de main
Marsh Posté le 20-01-2005 à 21:55:10
Montpelliérain. J'ai un topic de vente si tu cherches des trucs.
Marsh Posté le 08-01-2004 à 17:31:32
Bonjour à tous,
J'ai une petite question de newbie : il faut que je vérifie qu'un champ texte est une expression logique correcte (en javascript), cad ((1+2)*3+!4) par exemple.
Peut-on passer par les expressions régulières ?
Sinon, quelqu'un aurait-il le bout de code me permettant de faire ça ?
Merci par avance à ceux qui me fileront un coup de main
Message édité par toufik51 le 08-01-2004 à 18:11:02