Anda di halaman 1dari 8

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA

EXPRECIONES REGULARES EN VISUAL BASIC


Una expresin regular, a menudo llamada tambin patrn, es una expresin que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Hndel y Haendel se describe mediante el patrn "H(a||ae)ndel". La mayora de las formalizaciones proporcionan los siguientes constructores: una expresin regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye

utilizando caracteres del alfabeto sobre el cual se define el lenguaje. Especficamente, las expresiones regulares se construyen utilizando los operadores unin, concatenacin y clausura de Kleene. Adems cada expresin regular tiene un autmata finito asociado. Alternacin Una barra vertical separa las alternativas. Por ejemplo, "marrn|castao" casa

con marrn o castao. Cuantificacin Un cuantificador tras un carcter especifica la frecuencia con la que ste puede ocurrir. Los cuantificadores ms comunes son +, ? y *: + El signo ms indica que el carcter al que sigue debe aparecer al menos una vez. Por ejemplo, "ho+la" describe el conjunto infinito hola, hoola, hooola, hoooola, etctera. ? El signo de interrogacin indica que el carcter al que sigue puede aparecer como mucho una vez. Por ejemplo, "ob?scuro" casa con oscuro y obscuro. * El asterisco indica que el carcter que lo precede puede aparecer cero, una, o ms veces. Por ejemplo, "0*42" casa con 42, 042, 0042, 00042, etctera.

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


Agrupacin Los parntesis pueden usarse para definir el mbito y precedencia de los dems operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre|madre", y "(des)?amor" casa conamor y con desamor. Los constructores pueden combinarse libremente dentro de la misma expresin, por lo que "H(ae?|)ndel" equivale a "H(a|ae|)ndel". La sintaxis precisa de las expresiones regulares cambia segn las herramientas y aplicaciones consideradas, y se describe con ms detalle a continuacin. Su utilidad ms obvia es la de describir un conjunto de cadenas, lo que resulta de utilidad en editores de texto y aplicaciones para buscar y manipular textos.

Descripcin de las expresiones regulares


El Punto "." El punto es interpretado por el motor de bsqueda como cualquier carcter excepto los caracteres que representan un salto de lnea, a menos que se le especifique esto al motor de Expresiones Regulares. Por lo tanto si esta opcin se deshabilita en el motor de bsqueda que se utilice, el punto le dir al motor que encuentre cualquier carcter incluyendo los saltos de lnea. En la herramienta EditPad Pro esto se hace por medio de la opcin "punto corresponde a nueva lnea" en las opciones de bsqueda. En .Net Framework se utiliza la opcin RegexOptions. Singleline al efectuar la bsqueda o crear la expresin regular. La barra inversa o contrabarra "\" Se utiliza para "marcar" el siguiente carcter de la expresin de bsqueda de forma que este adquiera un significado especial o deje de tenerlo. O sea, la barra inversa no se utiliza nunca por s sola, sino en combinacin con otros caracteres. Al utilizarlo por ejemplo en combinacin con el punto "\." este deja de tener su significado normal y se comporta como un carcter literal. A continuacin hay una lista de algunas de estas combinaciones:

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


y y \t \r Representa un tabulador. Representa el "retorno de carro" o "regreso al inicio" o sea el lugar en que la lnea

vuelve a iniciar. y \n Representa la "nueva lnea" el carcter por medio del cual una lnea da inicio. Es

necesario recordar que en Windows es necesaria una combinacin de \r\n para comenzar una nueva lnea, mientras que en Unix solamente se usa \n y en Mac_OS clsico se usa solamente \r. y y y y y \a \e \f \v \x Representa una "campana" o "beep" que se produce al imprimir este carcter. Representa la tecla "Esc" o "Escape" Representa un salto de pgina Representa un tabulador vertical Se utiliza para representar caracteres ASCII o ANSI si conoce su cdigo. De esta

forma, si se busca el smbolo de derechos de autor y la fuente en la que se busca utiliza el conjunto de caracteres Latin-1 es posible encontrarlo utilizando "\xA9". y \u Se utiliza para representar caracteres Unicode si se conoce su cdigo. "\u00A2"

representa el smbolo de centavos. No todos los motores de Expresiones Regulares soportan Unicode. El .Net Framework lo hace, pero el EditPad Pro no, por ejemplo. y y y y y y y y y y \d \w \s \D \W \S \A \Z \b \B Representa un dgito del 0 al 9. Representa cualquier carcter alfanumrico. Representa un espacio en blanco. Representa cualquier carcter que no sea un dgito del 0 al 9. Representa cualquier carcter no alfanumrico. Representa cualquier carcter que no sea un espacio en blanco. Representa el inicio de la cadena. No un carcter sino una posicin. Representa el final de la cadena. No un carcter sino una posicin. Marca el inicio y el final de una palabra. Marca la posicin entre dos caracteres alfanumricos o dos no-alfanumricos.

Los corchetes "[ ]"

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


La funcin de los corchetes en el lenguaje de las expresiones regulares es representar "clases de caracteres", o sea, agrupar caracteres en grupos o clases. Son tiles cuando es necesario buscar uno de un grupo de caracteres. Dentro de los corchetes es posible utilizar el guin "-" para especificar rangos de caracteres. Adicionalmente, los metacaracterespierden su significado y se convierten en literales cuando se encuentran dentro de los corchetes. Por ejemplo, como vimos en la entrega anterior "\d" nos es til para buscar cualquier carcter que represente un dgito. Sin embargo esta denominacin no incluye el punto "." que divide la parte decimal de un nmero. Para buscar cualquier carcter que representa un dgito o un punto podemos utilizar la expresin regular "[\d.]". Como se hizo notar anteriormente, dentro de los corchetes, el punto representa un carcter literal y no un metacarcter, por lo que no es necesario antecederlo con la barra inversa. La barra "|" Sirve para indicar una de varias opciones. Por ejemplo, la expresin regular "a|e" encontrar cualquier "a" o "e" dentro del texto. La expresin regular "este|oeste|norte|sur" permitir encontrar cualquiera de los nombres de los puntos cardinales. La barra se utiliza comnmente en conjunto con otros caracteres especiales. El signo de dlar "$" Representa el final de la cadena de caracteres o el final de la lnea, si se utiliza el modo multi-lnea. No representa un carcter en especial sino una posicin. Si se utiliza la expresin regular "\.$" el motor encontrar todos los lugares donde un punto finalice la lnea, lo que es til para avanzar entre prrafos. El acento circunflejo "^" Este carcter tiene una doble funcionalidad, que difiere cuando se utiliza individualmente y cuando se utiliza en conjunto con otros caracteres especiales. En primer lugar su funcionalidad como carcter individual: el carcter "^" representa el inicio de la cadena (de la misma forma que el signo de dlar "$" representa el final de la cadena). Por tanto, si se utiliza la expresin regular "^[a-z]" el motor encontrar todos los prrafos que den inicio con una letra minscula. Cuando se utiliza en conjunto con los corchetes de la siguiente forma "[^\w ]" permite encontrar cualquier carcter que NO se encuentre dentro del grupo indicado. La expresin indicada permite encontrar, NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


por ejemplo, cualquier carcter que no sea alfanumrico o un espacio, es decir, busca todos los smbolos de puntuacin y dems caracteres especiales.

Los parntesis "()" De forma similar que los corchetes, los parntesis sirven para agrupar caracteres, sin embargo existen varias diferencias fundamentales entre los grupos establecidos por medio de corchetes y los grupos establecidos por parntesis: y y Los caracteres especiales conservan su significado dentro de los parntesis. Los grupos establecidos con parntesis establecen una "etiqueta" o "punto de referencia" para el motor de bsqueda que puede ser utilizada posteriormente como se denota ms adelante. y Utilizados en conjunto con la barra "|" permite hacer bsquedas opcionales. Por ejemplo la expresin regular "al (este|oeste|norte|sur) de" permite buscar textos que den indicaciones por medio de puntos cardinales, mientras que la expresin regular "este|oeste|norte|sur" encontrara "este" en la palabra "esteban", no pudiendo cumplir con este propsito. y Utilizado en conjunto con otros caracteres especiales que se detallan posteriormente, ofrece funcionalidad adicional. El signo de interrogacin "?" El signo de pregunta tiene varias funciones dentro del lenguaje de las expresiones regulares. La primera de ellas es especificar que una parte de la bsqueda es opcional. Por ejemplo, la expresin regular "ob?scuridad" permite encontrar tanto "oscuridad" como "obscuridad". En conjunto con los parentesis redondos permite especificar que un conjunto mayor de caracteres es opcional; por ejemplo "Nov(\.|iembre|ember)?" permite encontrar tanto "Nov" como "Nov.", "Noviembre" y "November". Como se mencion anteriormente los parntesis nos permiten establecer un "punto de referencia" para el motor de bsqueda, sin embargo, algunas veces, no se desea utilizarlos con este propsito, como en el ejemplo anterior "Nov(\.|iembre|ember)?".

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


Las llaves "{}" Comnmente las llaves son caracteres literales cuando se utilizan por separado en una expresin regular. Para que adquieran su funcin de metacaracteres es necesario que encierren uno o varios nmeros separados por coma y que estn colocados a la derecha de otra expresin regular de la siguiente forma: "\d{2}" Esta expresin le dice al motor de bsqueda que encuentre dos dgitos contiguos. Utilizando esta frmula podramos convertir el ejemplo "^\d\d/\d\d/\d\d\d\d$" que serva para validar un formato de fecha en "^\d{2}/\d{2}/\d{4}$" para una mayor claridad en la lectura de la expresin. El asterisco "*" El asterisco sirve para encontrar algo que se encuentra repetido 0 o ms veces. Por ejemplo, utilizando la expresin "[a-zA-Z]\d*" ser posible encontrar tanto "H" como "H1", "H01", "H100" y "H1000", es decir, una letra seguida de un nmero indefinido de dgitos. Es necesario tener cuidado con el comportamiento del asterisco, ya que este por defecto trata de encontrar la mayor cantidad posible de caracteres que correspondan con el patrn que se busca. De esta forma si se utiliza.

El signo de suma "+"


Se utiliza para encontrar una cadena que se encuentre repetida 1 o ms veces. A diferencia del asterisco, la expresin "[a-zA-Z]\d+" encontrar "H1" pero no encontrar "H". Tambin es posible utilizar este metacarcter en conjunto con el signo de pregunta para limitar hasta donde se efecta la repeticin.

OPERADORES RELACIONALES
Los operadores relacinales que reconoce el lenguaje Visual Basic son: Operador Significado = Igual que > Mayor que

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


< Menor que >= Mayor o igual que Menor o igual que <> No es igual que o es diferente que.

OPERADORES ARITMTICOS
Un operador es un smbolo especial que indica al compilador que debe efectuar una operacin matemtica o lgica. VISUAL BASIC reconoce los siguientes operadores aritmticos: Operador Operacin + Suma - Resta * Multiplicacin / Divisin Flotante \ Divisin Entera MOD Modulo o Residuo El Operador (/) Divisin Flotante, es el operador de divisin normal. El Operador (\) tambin es divisin, pero los datos primero, son redondeados al entero mas cercano (byte, integer, long) y al final, se trunca la parte residual. El Operador (^), nos resuelve dos problemas: a) Potencias, por ejemplo 3^2; se resuelve como: dim alfa as integer

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

UNIVERSIDAD TECNOLGICA MERICA FACULTAD DE CIENCIAS DE LA COMPUTACIN Y ELECTRNICA


alfa = 3 ^ 2 desplegar alfa > Sale 9 en pantalla

b) Races solo recordar la ley de exponentes que dice: Para estos casos: <m> root{n}{a^m} = a ^ (m/n) </m> = 5^8/3 = 9^1/2 En Visual Basic el operador (MOD) devuelve el residuo entero de una divisin entre enteros, ejemplo; Dim alfa As Single; alfa = 23 MOD 4; desplegar alfa; Otro ejemplo; alfa = 108 MOD 10; desplegar alfa; El resultado en pantalla es 8 El resultado en pantalla es 3

NOMBRE: Adriana Haro NIVEL: Decimo Informtica - Nocturno

Anda mungkin juga menyukai