CONCEPTOS BASICO DE EXPRESIONES REGULARES

Posted: domingo, 23 de octubre de 2016 by Skuarch in Etiquetas: ,
0


Las expresiones regulares no son tan regulares como lo dice su nombre algunas cosas no estan soportadas en ciertos lenguajes, en esta entrada tratare de dar algunos ejemplos de expresiones regulares (regex) que se adaptan a la mayoria de los lenguajes, pero por favor checa con tu lenguaje si la expresion funciona igual debido a que no son un standar pueden varias entre lenguajes

^ inicio de linea
Cuando queremos buscar algo en nuestra cadena el signo ^ le indica a la expresion regular que lo que buscamos debe de estar al principio de la linea

$ fin de linea
Muy parecido al ejemplo anterios pero este indica que lo que buscamos debe de estar al final de la linea

podemos hacer una mezcla de esto por ejemplo buscar lineas vacias que seria algo como esto

^$
Eso nos regresara las lineas vacias

[ée] clases de caracteres
Con los corchetes indicamos que nos busque esos caracteres exactos, la expresion regular solo buscara la e y la e con acento

[A-Z] rangos
Los corchetes tambien sirven para establecer rangos, en este caso es un rango con letras mayusculas, la expresion solo buscara de la A a las Z en mayusculas

[a-z] rangos 
Es exactamente los mismo pero con minusculas

[A-Z][a-z] combinando rangos
Se pueden hacer combinaciones entre rangos, en este ejemplo se combinan las mayusculas y las minisculas

[^a-z] negacion
En este caso el caret o circumplejo se utiliza para negar, entonces la expresion buscara todo lo que no es minusculas

[A-z][^a-z] el primer caracter tiene que ser mayusculas y lo que le sigue tiene que ser negado a minusculas
La expresion que se encuentra arriba busca el primer caracter en mayusculas de la A-Z y despues cualquier cosa que no sea una minuscula de la a-z

[$] los corchetes hacen que no lo cuente como fin de linea

El signo de dolares es un caracter especial, pero si esta entre corchetes, la expresion regular no lo tomara encuenta y buscara un signo de dolares

| pipe 
El pipe se utiliza para hacer un OR

(gmail|yahoo) grupos
En la expresion anterior estamos usando pararentesis para crear grupos y lo combinamos con un pipe para que busque cualquiera de las dos cadenas que se encuentran en los parentesis

. cualquier caracter
El punto se utiliza para que la expresion busque en cualquier caracter

? opcional
El signo de interrogacion indica que el match es opcional

+ busca uno o mas veces
El signo de + buscara una o mas veces la cadena a buscar

{e} busqueda de caracteres
Con las llaves hacemos una busqueda que puede ser repedia y de un caracter en concreto

3{e} buscar el caracter
El ejemplo anterios buscara 3 veces el caracter "e"

[a-z]{3} busca tres minusculas 

El ejemplo anterior buscara tres minusculas en la cadena

\b[a-z]+@
Busca de la a-z y tiene un tope o frontera que es la arroba

Si deceamos un ejemplo para buscar etiquetas html esto puede ayudar

<.+> ejemplo para buscar etiquetas html
Las expresiones regulares son ambiciosas, eso quiere decir que buscaran todas las ocurrencias en la cadena, si queremos evitar eso se puede utilizar el ?

<.+?> esto hace una busqueda detenida

Para realizar la busqueda de numeros se puede utilizar la siguiente expresion

\d busca numeros

\d+(?= pesos) look a head
Busca los numeros y que tengas despues la palabra pesos

(?<=MXN )\d+ look behind
Lo contrario al anterior, MXN es la cadena a buscar, que puede ser cualquier otra

\W caracter alfanumerico
(?1) insensetive 
Estos son otros ejemplos de como crear grupos

(\W+)@(\W) grupos la arroba no es algo especial
Espero que esta pequeña introduccion de sirva de algo, si no es asi pues largate y buscale por otro lado