elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ayudita expresion regular
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: ayudita expresion regular  (Leído 12,794 veces)
viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
ayudita expresion regular
« en: 26 Octubre 2010, 21:22 pm »

hola,tengo la siguiente expresión regular que sirve para coger urls y funciona perfectamente,pero necesitaria que me buscara urls que acabaran en .swf

aqui os dejo la expresión que tengo

Código:
 Dim Expresion As String
   
    ' Expresión regular
    Expresion = "(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)" _
             & "?(\/|\/([\w#!:.?+=&%@!\-\/]))?" & Chr(34)

cómo podría añadir para que me busque .swf??

gracias por la ayuda


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #1 en: 26 Octubre 2010, 21:33 pm »

Código:
(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?\*.swf

Deberia ir en Programacion general esto :P


En línea

viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: ayudita expresion regular
« Respuesta #2 en: 26 Octubre 2010, 21:58 pm »

Código:
(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?\*.swf

Deberia ir en Programacion general esto :P

no me extrae la url con esa expresion  :huh:
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #3 en: 26 Octubre 2010, 22:11 pm »

También podrias usar esta, aunque no incluye validación:
Código:
(https?|ftp):\/\/(\S)+.swf

Código
  1. http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.html 'False
  2.  
  3. http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.swf 'True

DoEvents! :P
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #4 en: 26 Octubre 2010, 22:19 pm »

Código:
^(?:(?>ht|f)tps?://)?(?:\w+[.-]\w+)+(?::\d+)?(?:\/[\w\-\.\?\,\'+&%\$_]*\.swf)*(?:\??(?:[\w\-\._]+=[\w\-\.\?\,\\'\/+%\$_]*&?)*)?(?:\#[\w]+)?$

Ahi esta mi expreg perfecta para swf :)
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #5 en: 26 Octubre 2010, 22:22 pm »

Ook raul, tu ganas!! :laugh: :laugh: :laugh: :laugh:
Muy bueno.

DoEvents! :P
En línea

viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: ayudita expresion regular
« Respuesta #6 en: 27 Octubre 2010, 16:38 pm »

También podrias usar esta, aunque no incluye validación:
Código:
(https?|ftp):\/\/(\S)+.swf

Código
  1. http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.html 'False
  2.  
  3. http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.swf 'True

DoEvents! :P

me sirvió tu expresión a la perfección. gracias  ;-)
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #7 en: 28 Octubre 2010, 00:15 am »

Oops! una pequeña corrección, mi RegExp seria asi:
Código:
(https?|ftp):\/\/(\S)+\.swf

No me funciona la tuya raul... :-(

DoEvents! :P
En línea

viher

Desconectado Desconectado

Mensajes: 113



Ver Perfil
Re: ayudita expresion regular
« Respuesta #8 en: 28 Octubre 2010, 19:09 pm »

el problema que me surge ahora es que intento sacar la url desde un texto que tengo en el text2.text,pero no consigo sacarla,aqui va el source:

Código
  1. 'Sub que extrae las direccións url : Http, Ftp y Https _
  2.  de un archivo utilizando una expresión regular
  3. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  4.  
  5. Sub Extraer_Url(url_Path As String, Expresion As String)
  6.    'Variables para usar RegExp
  7.    Dim o_RegExp As RegExp
  8.    Dim o_Match As Match
  9.    Dim o_Matches As MatchCollection
  10.   'Variables Fso para abrir y leer el archivo en la variable contenido
  11.   Dim Contenido As String
  12.   'Lee el contenido del fichero y lo almacena en la var
  13.   Contenido = Text2.Text
  14.   'crea nuevo objeto RegExp
  15.   Set o_RegExp = New RegExp
  16.   ' Para que no distinga mayúsculas de minúsculas
  17.   o_RegExp.IgnoreCase = True
  18.   o_RegExp.Global = True
  19.   ' A la propiedad Pattern se le pasa la Expresión regular
  20.   o_RegExp.Pattern = Expresion
  21.   'Ejecuta y busca
  22.   Set o_Matches = o_RegExp.Execute(Contenido)
  23.   ' Recorre en la colección
  24.   For Each o_Match In o_Matches
  25.      'Agrega las url al control List
  26.      List1.AddItem Replace(o_Match.Value, Chr(34), vbNullString)
  27.   Next
  28.  
  29. End Sub
  30.  
  31. Private Sub Command1_Click()
  32.    Dim Expresion As String
  33.    ' Expresión regular
  34.    Expresion = "(ftp|http|https):\/\/(\S)+.swf" & Chr(34)
  35.        Call Extraer_Url(Text2.Text, Expresion)
  36.    Text1.Text = List1.List(0)
  37.    List1.Clear
  38. End Sub
  39.  
  40. Private Sub Command2_Click()
  41. Text2.Text = WebBrowser1.Document.documentElement.innerHTML
  42. End Sub
  43.  
  44. Private Sub Form_Load()
  45. WebBrowser1.Navigate ("http://www.web.com/")
  46.    Me.Caption = " Ejemplo que utiliza expresiones regulares" _
  47.                 & " Para extraer los enlaces de un archivo"
  48.  
  49.    Command1.Caption = " Abrir archivo y Extraer "
  50. End Sub
  51.  

y aqui el original que lo hace através de un common dialog y archivos (este funciona perfectamente)

Código
  1. 'Sub que extrae las direccións url : Http, Ftp y Https _
  2.  de un archivo utilizando una expresión regular
  3. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  4.  
  5. Sub Extraer_Url(url_Path As String, Expresion As String)
  6.  
  7.  
  8.    'Variables para usar RegExp
  9.    Dim o_RegExp As RegExp
  10.    Dim o_Match As Match
  11.    Dim o_Matches As MatchCollection
  12.  
  13.  
  14.  
  15.   'Variables Fso para abrir y leer el archivo en la variable contenido
  16.   Dim fso As Object, F As Object, Contenido As String
  17.  
  18.   Set fso = CreateObject("Scripting.FileSystemObject")
  19.   'Abre el archivo
  20.   Set F = fso.OpenTextFile(url_Path, 1)
  21.  
  22.   'Lee el contenido del fichero y lo almacena en la var
  23.   Contenido = F.ReadAll
  24.  
  25.   'crea nuevo objeto RegExp
  26.   Set o_RegExp = New RegExp
  27.  
  28.   ' Para que no distinga mayúsculas de minúsculas
  29.   o_RegExp.IgnoreCase = True
  30.   o_RegExp.Global = True
  31.  
  32.   ' A la propiedad Pattern se le pasa la Expresión regular
  33.   o_RegExp.Pattern = Expresion
  34.   'Ejecuta y busca
  35.   Set o_Matches = o_RegExp.Execute(Contenido)
  36.  
  37.   ' Recorre en la colección
  38.   For Each o_Match In o_Matches
  39.      'Agrega las url al control List
  40.      List1.AddItem Replace(o_Match.Value, Chr(34), vbNullString)
  41.   Next
  42.  
  43.   'Cierra el archivo
  44.   F.Close
  45.  
  46.  
  47.  
  48.  
  49. End Sub
  50.  
  51. Private Sub Command1_Click()
  52.  
  53.    Dim Expresion As String
  54.  
  55.    ' Expresión regular
  56.    Expresion = "(ftp|http|https):\/\/(\S)+.swf" & Chr(34)
  57.  
  58.    With CommonDialog1
  59.        .ShowOpen
  60.  
  61.        If .FileName = "" Then Exit Sub
  62.  
  63.        'Le pasa el path del archivo a leer y la expresión regular anterior
  64.        Call Extraer_Url(.FileName, Expresion)
  65.    Text1.Text = List1.List(0)
  66.    List1.Clear
  67.    End With
  68.  
  69. End Sub
  70.  
  71. Private Sub Form_Load()
  72.    Me.Caption = " Ejemplo que utiliza expresiones regulares" _
  73.                 & " Para extraer los enlaces de un archivo"
  74.  
  75.    Command1.Caption = " Abrir archivo y Extraer "
  76. End Sub
  77.  

pero yo necesito arreglar el primer source para sacarlo directamente del webbrowser? que estoy haciendo mal? gracias
« Última modificación: 28 Octubre 2010, 21:35 pm por viher » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: ayudita expresion regular
« Respuesta #9 en: 28 Octubre 2010, 19:20 pm »

Código
  1. Expresion = "(ftp|http|https):\/\/(\S)+.swf" & Chr(34)

No entiendo porque usas el Chr(34) porque sin este funciona perfectamente :)

PD: pon el code en vb asi se ve mejor [code=vb][/code]
En línea

Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Expresión Regular
Desarrollo Web
Shell Root 4 4,421 Último mensaje 10 Abril 2011, 22:26 pm
por Shell Root
Aplicar expresión regular en el resultado de un curl
PHP
Servia 3 3,696 Último mensaje 28 Agosto 2011, 14:11 pm
por WHK
ayuda con una expresion regular :(
Programación General
Elemental Code 6 4,734 Último mensaje 23 Mayo 2012, 04:10 am
por Elemental Code
duda sobre patron de expresion regular
Programación General
MagnusIvanovich 5 3,486 Último mensaje 14 Marzo 2013, 20:11 pm
por 1mpuls0
Ayuda Expresion Regular
Ingeniería Inversa
macmaikel 2 2,663 Último mensaje 11 Junio 2013, 03:36 am
por macmaikel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines