/ / Regulärer Ausdruck in vb.net - regex, vb.net

Regulärer Ausdruck in vb.net - regex, vb.net

Wie man einen bestimmten Wert überprüft, beginnen Sie mit einem String oder einer Ziffer. Hier habe ich meinen Code angehängt. bekomme Fehler, wie IDDifier erwartet.

code
----
Dim i As String
dim ReturnValue  as boolean
i = 400087
Dim s_str As String = i.Substring(0, 1)

Dim regex As Regex = New Regex([(a - z)(A-Z)])
ReturnValue = Regex.IsMatch(s_str, Regex)




error

regx is type and cant be used as an expression

Antworten:

3 für die Antwort № 1

Ihre Variable ist regex, Regex ist der Typ der Variablen.

So ist es:

ReturnValue = Regex.IsMatch(s_str, regex)

Aber deine Regex ist auch fehlerhaft. [(a - z)(A-Z)] erstellt eine Zeichenklasse, die exakt mit den Zeichen übereinstimmt ()-az, die Reichweite A-Z und ein Raum und nichts anderes.

Es sieht für mich so aus, als würdest du Buchstaben zusammenbringen wollen. Dafür benutze einfach p{L} Das ist eine Unicode-Eigenschaft, die mit jedem Zeichen übereinstimmt, das ein Buchstabe in einer beliebigen Sprache ist.

Dim regex As Regex = New Regex("[p{L}d]")

2 für die Antwort № 2

vielleicht meinst du?

Dim _regex As Regex = New Regex("[(a-z)(A-Z)]")

2 für die Antwort № 3
Dim regex As Regex = New Regex([(a - z)(A-Z)])
ReturnValue = Regex.IsMatch(s_str, Regex)

Beachten Sie Fallunterschied, verwenden Sie regex.IsMatch. Sie müssen auch die Regex-Zeichenfolge angeben: "[(a - z)(A-Z)]".


Schließlich macht diese Regex keinen Sinn, Sie passen jeden Buchstaben oder öffnende / schließende Klammern irgendwo in der Zeichenfolge an.

Um am Anfang der Zeichenfolge übereinzustimmen, müssen Sie den Startanker einfügen ^, etwas wie: ^[a-zA-Z] passt auf jeden ASCII-Buchstaben am Anfang der Zeichenfolge.


2 für die Antwort № 4

Überprüfen Sie, ob eine Zeichenfolge mit einem beginnt Brief oder Ziffer:

ReturnValue = Regex.IsMatch(s_str,"^[a-zA-Z0-9]+")

Regex Erläuterung:

^           # Matches start of string
[a-zA-Z0-9] # Followed by any letter or number
+           # at least one letter of number

Sehen Sie es in Aktion Hier.