none
Impedir únicamente la coma (,) desde una expresión regular en vb 6.0 RRS feed

  • Pregunta

  • Buenas, gracias de antemano por la ayuda necesito tener una expresión regular que me impida ingresar únicamente la coma(,) pero es para vb 6.0


    Mario Ruiz Carrillo

    viernes, 8 de septiembre de 2017 17:42

Respuestas

  • Sé que funciona pero no es expresión regular, de todas maneras ya encontré la expresión que necesito y esta por si alguien más la necesita

    patron = "^[^,][A-Za-z0-9]*$"


    Mario Ruiz Carrillo

    viernes, 8 de septiembre de 2017 22:33

Todas las respuestas

  • ¿Por qué una expresión regular?, desconozco si Visual Basic 6.0 ofrece soporte para resolver expresiones regulares pero podrías hacerlo mediante el evento KeyPress "cancelando" la pulsación de teclas, tal como es habitual hacerlo, por ejemplo:

    Private Sub Text1_KeyPress(KeyAscii As Integer)
    
        If KeyAscii = 44 Then
            KeyAscii = 0
        End If
    
    End Sub


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    viernes, 8 de septiembre de 2017 18:40
  • Puedes probar lo siguiente

    Private Sub Command1_Click()
    Dim myReg As RegExp
    Dim myMatches As MatchCollection
    Dim myMatch As Match
    Set myReg = New RegExp
    myReg.IgnoreCase = True
    myReg.Global = True
    myReg.Pattern = ","
    Set myMatches = myReg.Execute("Tu, cadena, a, analizar,")
    For Each myMatch In myMatches
      MsgBox (myMatch.Value)
    Next
    End Sub

    Debes importar referencia al proyecto Microsoft VBScript expresiones regulares 5.5 (al menos en mi caso) para el caso puedes cambiar el For Next por 

    If myMatches.Count > 0 Then
    MsgBox ("No colocar comas (,)!")
    Exit Sub
    End If

    Saludos

    • Editado Marcelo PF viernes, 8 de septiembre de 2017 19:10
    viernes, 8 de septiembre de 2017 19:03
  • gracias por el comentario pero no me da resultado

    Mario Ruiz Carrillo

    viernes, 8 de septiembre de 2017 19:43
  • Hola Mario, podrías especificar que no te da resultado, gracias
    viernes, 8 de septiembre de 2017 20:02
  • mi intención es que en un textbox se pueda ingresar cualquier caractere excepto la coma (,)

    Mario Ruiz Carrillo

    viernes, 8 de septiembre de 2017 20:36
  • Para tal caso el código sugerido por Willams funciona, verifica que esté en el evento KeyPress del text1

    Saludos

    viernes, 8 de septiembre de 2017 20:49
  • Sé que funciona pero no es expresión regular, de todas maneras ya encontré la expresión que necesito y esta por si alguien más la necesita

    patron = "^[^,][A-Za-z0-9]*$"


    Mario Ruiz Carrillo

    viernes, 8 de septiembre de 2017 22:33
  • Hola

    VB 6.0 si acepta Regular Expressions

    Del libro Regular Expressions Cookbook por Jan Goyvaerts and Steven Levithan. :)

    Tal vez también quieras ver How to Use Regular Expressions in Visual Basic

    Saludos


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    sábado, 9 de septiembre de 2017 17:58