Expresiones Regulares
Enviado por RalexD • 28 de Abril de 2014 • 1.254 Palabras (6 Páginas) • 389 Visitas
Expresiones Regulares
Las expresiones regulares son una serie de caracteres que forman un patrón, normalmente representativo de otro grupo de caracteres mayor (alfabeto). Las expresiones regulares están disponibles en casi cualquier lenguaje de programación, pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.
Por lo tanto en la informática, las expresiones regulares proveen una manera muy flexible de buscar o reconocer cadenas de texto.
¿Cómo construir una Expresión Regular?
Específicamente, las expresiones regulares se hacen utilizando los operadores unión, concatenación y clausura de Kleene. Además cada expresión regular tiene un autómata finito asociado.
Expresiones Regulares como un lenguaje:
para especificar las opciones dentro del texto en el cual se buscará se usa un lenguaje mediante el cual se le transmite al motor de búsqueda el resultado que se quiere obtener, los caracteres que son usados con este fin son llamados “meta-caracteres”. Los meta-caracteres reciben este nombre porque no se representan a ellos mismos, sino que son interpretados de una manera especial.
A continuación se presentan los principales meta-caracteres, su función y como los interpreta el motor de expresiones regulares.
El punto ".":
El motor de búsqueda de expresiones regulares lo interpreta como “cualquier carácter”, busca cualquier carácter sin incluir los saltos de línea.
Un ejemplo de cómo se usa el punto es:
Patrón: '.l'
el ala aleve del leve abanico
Observa en el ejemplo anterior como el patrón es cualquier carácter (incluido el de espacio en blanco) seguido de una l, entonces, como resultado tendríamos “el”, “al”, “al” y “ l”.
La barra inversa o contrabarra "\":
Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda. O sea, la barra inversa no se utiliza nunca por sí sola, sino en combinación con otros caracteres. Al utilizarlo por ejemplo en combinación con el punto "\." este deja de tener su significado normal y se comporta como un carácter literal. De la misma forma sucede con cualquier otro carácter que sea especial, dejan de tener su función y se convierten en caracteres literales.
La barra inversa también tiene la habilidad de hacer que caracteres comunes se vuelvan caracteres especiales como por ejemplo:
\t — Representa un tabulador.
\r — Representa el "retorno de carro".
\n — Representa la "nueva línea" o bien un “salto de línea”.
\a — Representa una "campana" o "beep" que se produce al imprimir este carácter.
\e — Representa la tecla "Esc" o "Escape"
\f — Representa un salto de página
\v — Representa un tabulador vertical
\x — Se utiliza para representar caracteres ASCII o ANSI si conoce su código.
\u — Se utiliza para representar caracteres Unicode si se conoce su código.
\d — Representa un dígito del 0 al 9.
\w — Representa cualquier carácter alfanumérico.
\s — Representa un espacio en blanco.
\D — Representa cualquier carácter que no sea un dígito del 0 al 9.
\W — Representa cualquier carácter no alfanumérico.
\S — Representa cualquier carácter que no sea un espacio en blanco.
\A — Representa el inicio de la cadena. No un carácter sino una posición.
\Z — Representa el final de la cadena. No un carácter sino una posición.
\b — Marca el inicio y el final de una palabra.
\B — Marca la posición entre dos caracteres alfanuméricos o dos no-alfanuméricos.
Los corchetes "[ ]":
La función de estos en las regex es representar “clases de caracteres”, o sea, agrupar caracteres en grupos o clases.
Dentro de los corchetes es posible utilizar el guion "-" para especificar rangos de caracteres. Adicionalmente, los meta-caracteres pierden su significado y se convierten en literales cuando se encuentran dentro de los corchetes.
Por ejemplo, si queremos buscar un número del 0 al 9 tenemos la expresión “\d”, sin embargo, esta expresión no incluye el punto “.” que divide la parte decimal del número, entonces en casos como este podemos hacer usos de los corchetes para buscar números con decimales usando la expresión "[\d.]". Como se menciono anteriormente el punto dentro de los corchetes pierde su función especial y se toma solo como un carácter literal.
La barra "|":
Sirve para indicar una o varias opciones.
...