Aide pour un regex

Résolu
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009 - 7 sept. 2009 à 10:59
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009 - 7 sept. 2009 à 23:34
Bonjour !
Y aurait il une âme charitable pour me donner un coup de main pour un regex ?
ligne :
!browse http://www.google.com 80 200 100
J'aimerai isoler les 4 variables Host, Port, int1, int2 et int3
J'ai vraiment du mal à comprendre les regex, donc si quelqu'un peut m'aider ça serait sympa ^^

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 sept. 2009 à 13:48
le plus simple :

!browse (\S+) (\d+) (\d+) (\d+)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
7 sept. 2009 à 23:00
Regardes mon source de mon premier post.

(?\S+)

--> matches["adresse"].Value
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
7 sept. 2009 à 11:25
Salut,

Il y a pas que 3 numeriques dans ton expression.

Merci de mettre tout tes cas d'utilisation dans ton post.

Aide toi de http://regex.codes-sources.com/codes/UTILISATION-REGEXP-LIRE-FLUX-RSS_49800.aspx pour faire un début de regexp.

Avec les captures du devrait y arriver.
0
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009
7 sept. 2009 à 11:35
Les différents cas d'utilisation :
!browse http://www.google.com 80 200 100
!browse 127.0.0.1 80 200 100

en gros ca sera !browse (URL ou IP) Port Durée Timeout
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009
7 sept. 2009 à 22:27
merci bien pour le coup de main !
0
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009
7 sept. 2009 à 22:57
Par contre, pour isoler les variables que je reçois je fais comment ?
Ca doit être du style :

static void Main(string[] args)
{
string inputline = "!browse http://www.google.com 80 200 1";
Regex regex = new Regex(@"!browse (\S+) (\d+) (\d+) (\d+)");
string input = inputline;
MatchCollection matches = regex.Matches(input);
for (int i = 0; i != matches.Count; ++i)
{
Console.WriteLine("arg " + matches[i].Value);
Console.ReadLine();
}

}
0
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009
7 sept. 2009 à 23:15
Merci je comprend un peu mieux maintenant ! Mais dans l'exemple que tu m'as donné le regex été tellement long que ça m'a donné mal à la tête lol
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
7 sept. 2009 à 23:19
Désolé pour l'exemple un peu long ;-)
Mais j'avais plus un cas d'utilisation.
mais le parsing d'un fichier de log aurait été plus explicite ;-)
0
t0fx Messages postés 22 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 décembre 2009
7 sept. 2009 à 23:34
La c'est bon ça fonctionne nikel, merci encore
0
Rejoignez-nous