Hola a todos
Tengo una función para validar las url, le mando la cadena de la url y la expresión regular ^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)( [a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
La función me regresa true si es válida y false si no lo es, pero al mandarle la url http://www.worldbank.org/data/icp, me manda false (no es válida), ya revise la url y esa debe ser, no entiendo porque manda false.
Esta es la función para validar la url
Function Validate_url(sPattern As String, sData As String)
On Local Error GoTo Error_Handler
Dim objRegExp As Object
Set objRegExp = CreateObject("VBScript.RegExp")
' -- Crear nuevo objeto RegExp para utilizar el método Test
'Dim objRegExp As New RegExp
' -- Setear el objeto y establecer el patrón
With objRegExp
' -- Establecer el patrón de búsqueda
.Pattern = sPattern
.IgnoreCase = True
.Global = True
End With
' -- Ejecutar el método Test y retornar un valor Boolean a la función
Validate_url = objRegExp.Test(sData)
Exit Function
' -- Errores
Error_Handler:
MsgBox " Número de error: " & Err.Number & vbNewLine & " Descripción del Error: " & Err.Description, vbCritical
End Function
De expresiones regulares no se mucho, espero que me puedan ayudar, gracias