Caractère pour tout

Fermé
erimen Messages postés 517 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 novembre 2021 - 2 mars 2013 à 23:16
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 4 mars 2013 à 11:28
Bonjour,

Je cherche le caractère qui défini un nombre indéfinit de caractères et n'importe lesquels.
par exemple je cherche un mot ou un bout de mot dans une phrases en VB je demande au programme de chercher "*" & Mot_A_Chercher & "*" .

Si vous comprenez ma question, n'hésitez pas à répondre :)
merci d'avance


1 réponse

Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
Modifié par Hxyp le 3/03/2013 à 10:04
Bonjour,
Utilisez les regex jetez un oeil au program "RegExTester" ici : https://sourceforge.net/projects/regextester/ super utile pour pratiquer et sortir du code tout fait (snippet) basé sur le regex créé.
Le "*" peut être "(?:.*?)"
Pour l'exemple que vous avez donné pouvez tester "&(?<recup>.*?)&"
0
erimen Messages postés 517 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 novembre 2021 77
3 mars 2013 à 11:59
<recup> étant le mot à chercher ? ou c'est
"&(?<recup>.*?)&" + Mot_a_Chercher + "&(?<recup>.*?)&"
0
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
Modifié par Hxyp le 4/03/2013 à 11:28
Non le mot à recherché se trouve entre & et &
<recup> c'est un genre de tag qui permet de récupérer la valeur/mot à recherché. Je ne suis pas très doué en C sharp mais voici un exemple :
Regex r = new Regex(@"&(?<recup>.*?)&"); 
if (r.IsMatch(buffer)) 
{ 
    MatchCollection mc = r.Matches(buffer); 
    for (int i = 0; i < mc.Count; i++) 
    { 
        GroupCollection gc = mc[i].Groups; 
        MessageBox.Show(gc["recup"].Value.ToString()); 
    } 
}
0