Ver Mensaje Individual
  #415 (permalink)  
Antiguo 25/05/2011, 18:40
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Juego: "¿Dónde está el error?"

A pues voy a dejar que otro conteste, así como hiciste, jajajaja

Además no pides un porque en el primer post

Edito: Es que no puedo dejarlo sin contestación, La razón es porque el simbolo | lo que dice que verifique el patrón de la izquierda, que en el caso de que no tuviera el - debería hacer un match de algo similiar a A123 (porque lo que haces es algo como (A-Z){1}(0-9){3} un caracter y tres números) o el de la derecha que solo dice que verifica un match que tenga de la a a la z y que sean tres caracteres. Como el primero no se cumple, entonces el segundo sí y eso es lo que muestra. Ahora cuando se le añade el simbolo de -, entonces el patrón busca primero si existe algo como A-123 (porque lo que haces es algo como (A-Z){1}-(0-9){3} un caracter, el simbolo de menos y tres dígitos). Al encontrar el match, ya es suficiente y no continúa porque el preg_match busca la primera ocurrencia. Para más información de lo que hace (?<=.......) recomiendo esta lectura http://www.php.net/manual/en/regexp....assertions.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 25/05/2011 a las 19:09