Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Expresiones regulares.

Estas en el tema de Expresiones regulares. en el foro de Visual Basic clásico en Foros del Web. Hola y saludos. Alguien sabe como puedo crear una expresión regular para utilizar con RegEx.IsMath para saber si una cadena contiene cualquiera de estos caracteres ...
  #1 (permalink)  
Antiguo 28/06/2008, 13:05
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Expresiones regulares.

Hola y saludos. Alguien sabe como puedo crear una expresión regular para utilizar con RegEx.IsMath para saber si una cadena contiene cualquiera de estos caracteres /:*?"\<|>

Es para validar el nombre de un archivo o directorio. Gracias y saludos.
__________________
Nunca seas sabio en tu propia opinión.
  #2 (permalink)  
Antiguo 28/06/2008, 14:17
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Expresiones regulares.

Hola, utiliza la función InStr en el evento KeyPress:


Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("/:*?""\<|>", Chr(KeyAscii)) > 0 Then
    MsgBox "SI contiene algun caracter"
Else
    MsgBox "NO contiene ningúno de los caracteres!"
End If
End Sub

  #3 (permalink)  
Antiguo 29/06/2008, 20:35
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Expresiones regulares.

Gracias por tu respuesta, pero es para evaluar una cadena. Por cierto, perdón es mi culpa, estoy usando VB.Net. Había pensado en utilizar esa función (la equivalente en .Net es IndexOf) pero sería muy engorroso hacerlo caracter por caracter y es por eso que estaba buscando una expresión regular. Gracias de todas formas.
__________________
Nunca seas sabio en tu propia opinión.
  #4 (permalink)  
Antiguo 30/06/2008, 02:47
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Expresiones regulares.

Cita:
Iniciado por Jad-Neo Ver Mensaje
Gracias por tu respuesta, pero es para evaluar una cadena. Por cierto, perdón es mi culpa, estoy usando VB.Net. Había pensado en utilizar esa función (la equivalente en .Net es IndexOf) pero sería muy engorroso hacerlo caracter por caracter y es por eso que estaba buscando una expresión regular. Gracias de todas formas.
Efectivamente, con IndexOf tienes que comparar caracter a caracter, pero puedes utilizar el operador Like para devolver un valor booleano:

Código PHP:
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim Cadena 
As String "Esto es una? prueba"
        
Dim b As Boolean Cadena Like "*[/:*?""\<|>]*"
        
MsgBox(b)
    
End Sub 
  #5 (permalink)  
Antiguo 02/07/2008, 09:19
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Expresiones regulares.

No me acordaba del Like en VB, que barbaro donde está mi cabeza . Gracias, funciona el código.
__________________
Nunca seas sabio en tu propia opinión.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.