int regexcmp(char *myregex, char *entrada) {
/* aloca espaço para a estrutura do tipo regex_t */
regex_t reg;
/* compila a ER passada em (a)
* em caso de erro, a função retorna diferente de zero
*/
if (regcomp(®, myregex, REG_EXTENDED | REG_NOSUB) != 0) {
fprintf(stderr, "erro regcomp\n");
exit(1);
}
/* tenta casar a ER compilada (®) com a entrada
* se a função regexec retornar 0 casou, caso contrário não
*/
return regexec(®, entrada, 0, (regmatch_t *) NULL, 0);
}// Fim da função
// exemplo de uso
//-----------------------------------------------------------------------------------
void main(int argc, char *argv[]){
if(!regexcmp("<[[:alnum:]]+>", argv[1])){
printf("Tem tags XML\n");
}else{
printf("Não tem tags XML");
}
}
ABC++: Função que testa Expressão Regular.
Comentar