Regex :comparer deux chaines contenant des wildcards
bonsoir à tous,
J'ai besoin de votre aide pour comparer les deux chaines de caractères suivantes
Citation:
char *chaine1 = "Ganon!user@192.168.1.3";
char *chaine2 = "*!*@192.*";
le problème ici ce sont les wildcards, j'ai regardé un peu du coté de la bibliotèque <regex.h> et j'ai pondu ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
static int match_regexp(char *s1, char *s2)
{
regex_t myreg;
if (regcomp(&myreg, s1, REG_ICASE|REG_NOSUB|REG_EXTENDED) != 0)
return 0;
if (regexec(&myreg, s2, 0, NULL, 0) != 0)
return 0;
regfree(&myreg);
return 1;
} |
Code:
1 2 3
|
if (!match_regexp(chaine1, chaine2))
return irc_notice(client->nick, "Les masques ne correspondent pas."); |
résultat, il n'y as pas concordance alors que ca devrait !
surement une mauvaise utilisation de la bibliotèque de ma part
merci à vous et bonne soirée.