[expressions régulières] petite question, post nº2

petite question, post nº2 [expressions régulières] - HTML/CSS - Programmation

Marsh Posté le 10-06-2003 à 11:16:07    

salut!
il faut que je fasse un mini parser d'expressions, car je fais actuellement une application web, dans laquelle on peut définir des prérequis (si telle truc a été vue, alors on a le droit à tel autre truc, ....etc....)
et donc je dois définir un mini langage de conditions ... j'ai quelques fonctions génériques qui gèrenet les états ... par exemple:
 
wasviewed = a été vue
isdone = est réussie
xget = fonction générique retournant des valeurs
 
 
 
en gros, il faut que je puisse dire:
 
"done[refA,refC,refPOUET] || (viewed[refDEVERROUILLAGE] && xget[refEXOFINAL])"
 
 
etc... ce genre d'expressions dans lesquelles je peux passer une liste de references...
 
voila, je sais pas trop comment proceder pour effectuer ce parser;
 
l'idéal serait les expressions régulières, mais je ne vois pas trop comment faire; si vous aviez un conseil .. ?
 
l'idéal serait qu'à la fin je me retrouve avec une simple expression de ce style:
 
"true || (false && true)"
 
histoire de pouvoir faire un eval dessus,
donc ya pas vraiment de mystere, je cherche pas a faire une calculette ou truc trop poussé pour le parsing, je cherche simplement a pouvoir remplacer des blocs du style  
 
methode[references,referencesbis]
 
 
par le resultat de l'appel de la methode, iterativement s'il faut, sachant qu'elle renverra peut etre un booleen, ou peut etre une valeeur a analyser (du style 0,1, ou un chiffre ou autre)
 
 
voila, j'espere que vous voyez ce que je veux dire ! ca a l'air tordu donc je sais pas trop par ou commencer ...
 
de plus, si c t possible de bosser avec des regexp tout simplement (du style appliquer une regexp qui est capable d'extraire des trucs generiques a[b] etc... ce sera un plus :D


Message édité par k666 le 10-06-2003 à 13:23:27
Reply

Marsh Posté le 10-06-2003 à 11:16:07   

Reply

Marsh Posté le 10-06-2003 à 12:24:07    

bon bin je cherche alors un gros expert en regexp
 
 
il faut retourner un tableau avec tous les blocs matchés d'une string, suite a une regexp
 
 
cette regexp doit matcher tous les blocs du style
 
azeaze[pouetpouet]
 
 
 
par exemple:
pour cette string la:
 


 
pouet prout zob[1,2] coincoin[] yeah[ salut[hfr](et bonne journee)
 


 
ca devrait me retourner
 
zob[1,2]
puis
coincoin[]
puis
salut[hfr]
 
 
voila, par pitié aidez moi :'(!!!!!


Message édité par k666 le 10-06-2003 à 13:06:59
Reply

Marsh Posté le 10-06-2003 à 14:55:27    

essaye un truc du genre

Code :
  1. /(\S*\[\S*?\])/


Attention si la premiere partie de truc a remonter doit comporter au moins un lettre remplace la première etoile par un +  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed