Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/10/2009, 09:02
ZequeZ
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años, 9 meses
Puntos: 2
Respuesta: ¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares)

Cita:
Iniciado por Nisrokh Ver Mensaje
Expresiones regulares es algo complejo y complicado por ahi, aunque me encantan :P

Te explico... El ^ representa el principio de una cadena, el $ representa el final de una cadena...

Código php:
Ver original
  1. $pattern = '/^[0-9]{4,5}$/';
  2. $subject = '2009';
  3.  
  4. if (preg_match($pattern, $subject)) print 'true';
  5. else print 'false';

Pero no confundas el ^ con [^]

Probra el ejemplo anterior cambiando esta variable:
Código php:
Ver original
  1. $pattern = '/^[^0-9]/';

[^0-9] significa: Ningún caracter entre el 0-9

o sea que la regexp. anterior se fija que la cadena de text No empieze con ningun número del 0 al 9

Vedria a ser lo mismo que [0-9] pero NEGATIVO

Si necesitas buscar un caracter como el ^ o el $, acordate de escaparlos: ej. \$
ya que sino te lo toma como parte de la expression... Estos son los caracters que deben ser escapados:

^ $ ( ) < . * + ? [ { \ | >

Te recomiendo leer este post: forosdelweb.com/f18/aporte-expresiones-pcre-646110/

Ya lo había leido, pero la cosa es que estoy seguro de que había una forma de que el ^ y $ representaran el inicio y final de cada palabra de la cadena de texto :S.

Será que me confundí, tendré que hacer el script un poco mas complejo xD.