Foros del Web » Programando para Internet » PHP »

¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares)

Estas en el tema de ¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares) en el foro de PHP en Foros del Web. Bueno, estoy seguro que lo leí esto en lagún lado, pero ahora no lo puedo encontrar -.- La cosa es que tengo una expresión regular ...
  #1 (permalink)  
Antiguo 07/10/2009, 00:47
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Pregunta ¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares)

Bueno, estoy seguro que lo leí esto en lagún lado, pero ahora no lo puedo encontrar -.-

La cosa es que tengo una expresión regular ya armada, y quiero que en un texto con muchas palabras, analice cada palabra en busca de concordancia, es decir, palabras separadas por espacios...

Creo que era un "/algo" al final de la expresión, para que ^ y $ analicen de esta manera, pero no me acuerdo y no lo encuentrooooooooooooo T.T

Última edición por ZequeZ; 07/10/2009 a las 00:48 Razón: Titulo poco explicativo xD
  #2 (permalink)  
Antiguo 07/10/2009, 06:00
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 14 años, 7 meses
Puntos: 12
Respuesta: ¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares)

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/

Última edición por Nisrokh; 07/10/2009 a las 06:10
  #3 (permalink)  
Antiguo 07/10/2009, 08:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Usar ^ y $ para cada palabra de un texto? (Para expresiones regulares)

busquen en el foro...

he aquí un tema:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 07/10/2009, 09:02
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:22.