Prb avec les expressions rationnelles

cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009 - 14 mars 2006 à 03:30
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 14 mars 2006 à 08:56
pffff j'y arrive pas :(

j'ai ça :
Regex regSize = new Regex(@"(\[size)([^\]]*)",RegexOptions.IgnoreCase|RegexOptions.Compiled);
puis ensuite j'appel :
msg=regSize.Replace(msg,"$1$2:c3e765b299]");
Mais en réponse, j'ai donc :
[size=16] => [size:c3e765b299 ] =16]

Ce qui ne va pas, vous vous en doutez bien si vous connaissez le BBcode ... mais moi le BBcode, ca va mais les expressions rationnelles...

Vous n'auriez pas une solution pour adapter comme il faut mon expression ?

[mailto:gomoz@free.fr Gomoz]

2 réponses

cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009
14 mars 2006 à 03:34
D'ailleurs je précise car c'est pas forcement claire, la forme que je souhaitais - avant de lancer tout confiant l'exportation de 20'000 messages de mon forumactif et me rendre compte au moment d'exporter que tout est à refaire - c'était :
[size:c3e765b299=16] (sans le "]")
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
14 mars 2006 à 08:56
donc, si j'ai bien compris, tu as :
[size=16] et tu veux :
[size:c3e765b299=16]

il faut donc que ta regex cherche les parties suivantes :
[size et =16]

donc :
\[size ou \[\w+
et
=\d+\]

soit :
string pattern = "(\[size)(=\d+\])";

et pour terminer :

msg = Regex.Replace(msg, pattern, "$1:c3e765b299$2")
Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
Rejoignez-nous