Los signos ^ y $ sirven para indicar donde debe estar situado nuestro patrón dentro de la cadena para considerar que existe una coincidencia.
Cuando usamos el signo ^ queremos decir que el patrón debe aparecer al principio de la cadena de carácteres comparada. Cuando usamos el signo $ estamos indicando que el patrón debe aparecer al final del conjunto de carácteres. O mas exactamente, antes de un caracter de nueva linea Asi:
<?
^am // nuestro patrón
am // coincide
cama // no coincide
ambidiestro // coincide
Pam // no coincide
caramba // no coincide
am$
am // coincide
salam // coincide
ambar // no coincide
Pam // coincide
^am$
am // coincide
salam // no coincide
ambar // no coincide
?>
o como en el ejemplo anterior:
patrón: ^el
el ala aleve del leve abanico
Las expresiones regulares que usan anclas solo devolveran una ocurrencia, ya que por ejemplo, solo puede existir una secuencia el al comienzo de la cadena.
patrón: el$
el ala aleve del leve abanico
Y aqui no encontramos ninguna, ya que en la cadena a comparar (la linea en este caso) el patrón "el" no está situado al final.
Para mostrar una coincidencia en este ejemplo, tendriamos que buscar "co":
patrón: co$
con el ala aleve del leve abanico
Hemos comenzado por unos metacaracteres especiales, ya que ^ $ no representan otros carácteres, sino posiciones en una cadena. Por eso, se conocen tambien como anchors o anclas.
Escapando caracteres
Puede suceder que necesitemos incluir en nuestro patrón algun metacaracter como signo literal, es decir, por si mismo y no por lo que representa. Para indicar esta finalidad usaremos un carácter de escape, la barra invertida .
Así, un patrón definido como 12$ no coincide con una cadena terminada en 12, y sí con 12$:
patrón: 100$
el ala aleve del leve abanico cuesta 100$
patrón: 100$
el ala aleve del leve abanico cuesta 100$
Fijate en los ejemplos anteriores. En el primero, no hay coincidencia, porque se interpreta "busca una secuencia consistente en el número 100 al final de la cadena", y la cadena no termina en 100, sino en 100$.
Para especificar que buscamos la cadena 100$, debemos escapar el signo $
Como regla general, la barra invertida convierte en normales caracteres especiales, y hace especiales caracteres normales.
El punto . como metacaracter
Si un metacaracter es un caracter que puede representar a otros, entonces el punto es el metacaracter por excelencia. Un punto en el patrón representa cualquier caracter excepto nueva línea.
Usuarios que han visto este tema también han visto...
- Encriptación de contraseñas en PHP
- Instalar PHP 4 y PHP 5
- Evitar que se muestren errores en PHP
- Validar Emails con PHP
- Como pasar un array de un script.php a otro.php
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.