///////////////////////////////////////////////////////////////////////////// // Creation 19/12/2003 // // // TESTREGEX.C // ----------- // // // Sylvain MARECHAL - sylvain.marechal1@libertysurf.fr ///////////////////////////////////////////////////////////////////////////// // // Regex usage // ///////////////////////////////////////////////////////////////////////////// #include #include "regex.h" int main( int argc, char * argv[] ) { regex_t reg; int i, ret; char regString[] = "/toto/titi/tutu.*"; char * aszStringToCompare[] = { "toto", "/toto", "/toto/titi/tut", "/toto/titi/tutu", "/toto/titi/tutu/tata" }; // Compile the regex expression ret = regcomp( ®, regString, 0 ); if (ret != 0) { char szError[1024] = "" ; if (regerror( ret, reg, szError, sizeof(szError) ) > 0) { printf("regex error: '%s' string '%s'\n", szError, regString ); } else { printf("regex error: regerror() returned a bad value\n") ; } return 1; } for( i = 0; i < sizeof(aszStringToCompare) / sizeof(char *); i ++ ) { // Test ret = regexec( ®, aszStringToCompare[i], 0, NULL, 0); if( ret == 0) { printf( "%s and %s matchs\n", regString, aszStringToCompare[i] ); } else { printf( "%s and %s DOESN'T match\n", regString, aszStringToCompare[i] ); } } // Free reg regfree( ® ); return 0; }