[2] Comentário enviado por DarkInner7 em 15/06/2004 - 14:20h
Reg = Regular
Exp = Expressions
Expresscoes regulares s"ao artificios usados quando se quer por exemplo, achar em uma saida de ls -l em um diretorio, todos os arquivos que comecem com a letra "d" mas que tenham como terceira letra "e" e terminem de 1 a 9. Regular expressions servem para isso ... capiche ?
[4] Comentário enviado por brunnoboni em 07/01/2008 - 17:10h
alguém sabe como faço para ler um arquivo .txt para identificar e retirar apenas os emails contidos nesse arquivo usando o regeX ???...tentei fazer mas não está dando certo então acredito que usando essa função deve funcionar :/
/* recebe como parâmetro a expressão regular e o input para
* tentar casar */
void er_match(char *argv[])
{
/* aloca espaço para a estrutura do tipo regex_t */
regex_t reg;
/* compila a ER passada em argv[1]
* em caso de erro, a função retorna diferente de zero */
if (regcomp(® , argv[1], REG_EXTENDED|REG_NOSUB|REG_ICASE) != 0) {
fprintf(stderr,"erro regcomp\n");
exit(1);
}
/* tenta casar a ER compilada (®) com a entrada (argv[2])
* se a função regexec retornar 0 casou, caso contrário não */
if ((regexec(®, argv[2], 0, (regmatch_t *)NULL, 0)) == 0)
printf("Casou\n");
else
printf("Não Casou\n");
}
int main(int argc, char **argv)
{
if (argc != 3) {
fprintf(stderr,"Uso: match <ER> <input>\n");
return 1;
}
er_match(argv);
return 0;
}
Soh que não sei como fazer para o argv[2] ser considerado uma constante do padrão de emails para ele comparar com os padrões existentes no arquivo...alguem sabe?