[C con Clase] Expresiones Regulares en C

Kalith kalith en kernelerror.net
Sab Dic 19 01:38:49 CET 2009


aqui la version corregida en ansi C

int scanner(char* word){

unsigned int i = 0, aux = 0, pos, dot = 0;

for (;i < strlen(word); ++i){

if(!dot && !aux && i > 0 && word[i] == '@') ++aux, pos = i;

if(!dot && aux && word[i] == '.' && (i - pos > 1)) ++aux, dot = 1;

if(dot && (strlen(word) - i > 2)) return 1;
}

return 0;
}

y mi version en c++ mas corta que hace lo mismo testie todos los posibles
casos y creo que esta bastante bien..

bool scanner(string word){

bool ret = false;

size_t pa = word.find('@'), pd = word.find('.');

if(pa != string::npos && pd != string::npos){

if(pa > 0 && (pd - pa > 1) && (word.size() - pd > 2))
ret = true;
}

return ret;
}

saludos
-- 
Linux Counter User #487374

Está en contra de los fundamentos de la educación moderna enseñar a
programar a los niños. ¿Qué diversión hay en hacer planes, en adquirir
disciplina para organizar los pensamientos, en dedicarle atención al
detalle, y en aprender a ser autocrítico?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091218/05ecf9d5/attachment.html>


Más información sobre la lista de distribución Cconclase