Comment puis-je créer une expression regex pour les nombres et les lettres? Chaque fois que je l'entrée, il lit seulement les chaînes afin de ne pas randomiser. disons que je saisis 312 < - ce serait un identifiant invalide car sa variable numérique n'est pas dans l'ordre. Sur les lettres j'ai essayé a123456789 donc quand j'introduis a1, a2, a3 il lit comme identifiant parce que c'est dans l'ordre. et je voulais aussi créer une autre variable qui va combiner les chiffres et les lettres.VB.NET Expression régulière 0-9 et a-z ne fonctionne pas?
Dim input As String = txtInput.Text
Dim symbol As String = "\s*([-+*/=])\s*"
Dim numbers As String = "123456789" //("[0-9]") <-- doesnt work?
Dim letters As String = "abcdefghijklmnopqrstuvwxyz" // ("[a-z]")<-also
Dim substrings() As String = Regex.Split(input, symbol)
For Each match As String In substrings
If symbol.Contains(match) Then
lstOutput.Items.Add(match & " - operator")
ElseIf numbers.Contains(match) Then
lstOutput.Items.Add(match & " - number")
ElseIf letters.Contains(match) Then
lstOutput.Items.Add(match & " - identifier")
Else
lstOutput.Items.Add(match & " - Invalid Identifier")
End If
Next
entrée: c1 + 2c + cad + C1B
résultat escompté:
c1 - l'identificateur
-
- opérateur
2c - identifiant invalide // invalide parce que le 1er caractère est le numéro
-
- opérateur
cao - Identifiant
-
- opérateur
C1B - Identifiant