Expresiones regulares

Páginas: 9 (2017 palabras) Publicado: 20 de marzo de 2012
Las expresiones regulares son una potente herramienta que nos permite contrastar un texto con un patrón de búsqueda. Esta tarea resulta fundamental en algunos programas, y en otros puede facilitarnos increíblemente el trabajo.

PHP permite dos tipos principales de funciones para expresiones regulares: las de tipo ereg (Expresiones regulares POSIX) y las de tipo preg (Compatibles con Perl). Sonmuy similares, aúnque las segundas llegan a ser algo más potentes.

Una expresión regular, consiste en comparar un patrón frente a un texto, para comprobar si el texto contiene lo especificado en el patrón.

Por poner un par de ejemplos:
Patrón: in
Coindicen:
* intensidad
* cinta
* interior

Patrón: [mp]adre
Coindicen:
* Mi madre se llama Luisa
* Tu padre es jardineroA continuación voy a repasar la sintaxis básica de una expresión regular
Sintaxis y metacaracteres

El punto
El punto representa cualquier caracter. Escribiendo un punto en un patrón querrás decir que ahí hay un caracter, cualquiera. Desde la A a la Z (en minúscula y mayúscula), del 0 al 9, o algún otro símbolo.
Ejemplos:
ca.a coincide con cana, cama, casa, caja, etc…
No coincidecon casta ni caa

Principio y fin de cadena
Si queremos indicar al patrón qué es el principio de la cadena o qué es el final, debemos hacerlo con ^ para inicio y $ para final.
Ejemplos:
“^olivas” coincide con “olivas verdes“, pero no con “quiero olivas”

Cuantificadores
Para indicar que cierto elemento del patrón va a repetirse un número indeterminado de veces, usaremos + o * . Usando + queremosdecir que el elemento anterior aparece una o más veces. Usando * queremos decir que el elemento anterior aparece cero o más veces.
Ejemplos:
“gafas+” coincide con “gafassss” pero no con “gafa”
sin embargo
“clo*aca” coincide con “claca“, “cloaca“, “cloooooooaca“, etc..
Si lo que queremos indicar al patrón es que un elemento puede que esté (una vez) o puede que no, lo haremos con el interrogantede la siguiente forma:
“coches?” coincide con “coche” y con “coches”
Para definir la cantidad de veces que va a repetirse el elemento, tendremos que hacer uso de las llaves: { }, indicando en su interior el intervalo, o la cantidad exacta de veces que va a repetirse.
Ejemplos:
“abc{4}” coincide con “abcccc“, pero no con “abc” ni “abcc“, etc…
“abc{1,3}” coincide con “abc“, “abcc“, “abccc“,pero no con “abcccc”
Si un parámetro queda vacío, significa “un número indeterminado“. Por ejemplo: “x{5,}” significa que la x ha de repetirse 5 veces, o más.

Rangos
Los corchetes [] incluidos en un patrón permiten especificar el rango de caracteres válidos a comparar. Basta que exista cualquiera de ellos para que se de la condición. Dentro de ellos pondremos cualquier cantidad de caracteres,uno a continuación del otro; o un rango del abecedario o de los números enteros del 0 al 9.
Ejemplos:
“c[ao]sa” coincide con “casa” y con “cosa”
“[a-f]” coincide con todos los caracteres alfabéticos de la “a” a la “f”
“[0-9][2-6][ANR]” coincide con “12A“, “35N“, “84R“, etc..
pero no con “21A“, ni “33L“, ni “3A“, etc…
Dentro de los corchetes, hay que tener en cuenta que el símbolo ^ ya nosignifica inicio, sinó que es un negador, es decir: “[^a-Z]” coincidirá con cualquier texto que NO tenga ningún caracter alfabético (ni minúsculas ni mayúsculas), y “^@ ” coincide con cualquier caracter excepto “@” y “espacio”

Alternancia
Para alternar entre varias opciones, usaremos el símbolo | (barra vertical, en los teclados suele ser “Alt Gr + 1″). Con este mecanismo haremos un disyuntor, quenos permitirá dar varias opciones. Si una de ellas coincide, el patrón será cierto.

Ejemplos:
“aleman(ia|es)” coincide con “alemania” y con “alemanes”
“(norte|sur|este|oeste)” coincide con cualquiera de los puntos cardinales.

Agrupadores
Los paréntesis nos sirven para agrupar un subconjunto. Como hemos visto en el ejemplo anterior, nos es útil para definir la alternancia, pero agrupar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Expresiones regulares
  • expresiones regulares
  • Expresiones regulares
  • Expresiones Regulares
  • Expresiones regulares
  • expresiones regulares
  • Expresiones regulares
  • Expresiones Regulares

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS