Sección de códigos , trucos y ejemplos para visual basic
<Volver> - Anterior - Siguiente
Antes aclarar que yo de Expresiones regulares -5. Pero investigando un poco, y metiendo mano a una expresión regular que tenía hecha en JavaScript, la volqué con un par de modificaciones a los ponchasos para este ejemplo en Visual basic.
El problema de la expresión mencionada, era que al extraer las direcciones, dejaba algunos caracteres que no formaban parte de la URL, es decir no quedaba la dirección limpia.
También mientras buscaba, vi un ejemplo en la web del Guille hecho para Vb .Net, que extrae las Url, pero extrae las Url que son visible en la página, es decir las que están entre las etiquetas <a href= ...y </a>, y yo para un trabajo que tenía que realizar necesitaba todas las Url, incluyendo las que no figuran entre dichas etiquetas, como es el caso por ejemplo de algunos Script, donde las mismas están asignadas en variables por decir un caso, y claro,, la expresión buscaba solo si en la cadena se encontraba el atributo href.
De todos modos por si te interesa, el artículo del Guille lo podés acceder desde este enlace:
Extraer la dirección de un link HTML con ejemplo de cómo usarlo con VB .NET y C#
Siguiendo, para poder utilizar el objeto RegExp en vb6, se debe incluir en el proyecto la referencia a Microsoft VbScript regular Expressions.
Una ves incluida la referencia, se debe declarar dos variables. Una que es de tipo Math. Esta variable se utiliza dentro de una colección en un bucle For each para recorrer los resultados. La variable de colección es de tipo MatchCollection
Para especificar la expresión regular, se debe hacer en la propiedad Pattern del objeto RegExp.
o_RegExp.Pattern = Expresion
Para ejecutar la búsqueda que extrae las direcciones se utiliza el método Execute, pasándole como parámetro la cadena donde se buscará, en este caso el contenido del fichero.
La definición del método Execute: Devuelve un objeto MatchCollection que contiene un objeto Match para cada coincidencia encontrada.
Luego hay algunas otras pocas propiedades y métodos sobre el objeto RegExp, como por ejemplo la propiedad Count , que devuelve la cantidad de elementos encontrados de la colección. La propiedad Value, que tiene el valor de la misma, etc..,
Para ver estas propiedades podés hacerlo desde el Examinador de objetos de vb.
También hay algunos métodos y propiedades para investigar:
Metodo Test: Devuelve un valor Boolean que indica si hubo coincidencias entre la expresión regular usada y la cadena a analizar
Otro llamado Replace para hacer reemplazados en una cadena con una expresión determinada.
Para hacer el ejemplo colocar un Control CommonDialog1, un control List1 y un Command1. Al presionar el Command, se debe seleccionar el archivo desde el CommonDialog, y en ese momento se ejecuta la función Extraer_Url, luego las agrega al control ListBox. La salida es algo por el estilo:
Código fuente en un Formulario:
Nota: si solo querés los enlaces visibles, podés usar la expresión de la web del guille ( la dirección la puse al comienzo de la página )
Acá te muestro una captura, que funciona perfecto con este ejemplo, solo hay que cambiar la cadena de la expresión regular
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar