Une regex pas simple... - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Une regex pas simple... (/showthread.php?tid=2518) |
Une regex pas simple... - srm - 17-09-2010 J'ai mis PHP car il faut bien mettre quelque chose mais bon, le mieux c'est de tester la regex sur : http://gskinner.com/RegExr/ L'idée c'est de pouvoir avec une regex parser un texte de ce genre : Code : ## bout5 [html] Qui doit donc retourner : Nom : bout5 Syntaxe : html Contenu : Bouh 5 Nom : bout6 Syntaxe : Contenu : Bouh 6 Bouh 6 ## bis Bouh 6 etc .... J'ai bien trouvé une regex qui fait ça, mais elle est relativement compliquée, donc je viens vous demander vos solutions pour voir si vous en trouvez une plus simple. RE: Une regex pas simple... - niahoo - 17-09-2010 Ben fais voir ta regex pour dégrossir déjà ;p RE: Une regex pas simple... - srm - 17-09-2010 Wala : (?ms)^## ?([^\[\r\n]+)? ?(?:\[(\w+)\])?((??!^##).)+) RE: Une regex pas simple... - niahoo - 17-09-2010 avec quoi tu l'utilises, je ne reconnais pas la forme. scala ? RE: Une regex pas simple... - srm - 17-09-2010 Là oui Scala, mais c'est standard, ça marche sur tous les langages qui gèrent correctement les Regex Tout au plus il y a (?ms) qui peut te déranger, dans certains langages c'est /regex/ms c'est tout RE: Une regex pas simple... - niahoo - 17-09-2010 hmmm et ben c'est tendu .. y a le "## bis" qui est chiant quoi.
Mais bon c'est chaud de simplifier d'avantage. Je serais toi, je réserverais les '##' pour la déclaration d'un item, donc interdiction d'en mettre dans le contenu. RE: Une regex pas simple... - srm - 17-09-2010 Oui sauf que je ne peux pas imposer à l'utilisateur de ne pas mettre ## RE: Une regex pas simple... - niahoo - 18-09-2010 tu comptes faire quoi en fait ? tu peux lui renvoyer un "désolé mec, mais ton code est invalide" non ? RE: Une regex pas simple... - atra27 - 18-09-2010 Si ya pas de structure a ta regex sa va etre tendu non? a la limite on peut forcer les ## en début de ligne a étre des déclarations. Maintenant tu veux parser un code sans qu'il n'y ai de syntaxe précise dans ton code. Pourquoi tu fait pas le classique item{def} Enfin je sais pas mais je comprend déjà pas la logique dans le code que tu veut parser... RE: Une regex pas simple... - srm - 18-09-2010 C'est la même que dans pastie.org pour les sections |