VB.NET regex-valider streng for bestemt mønster
Jeg har en String variabel, der enten kan være tom, indeholde en slags GUID, eller indeholde noget tekst.Jeg har derfor brug for at kunne evaluere, om variablens værdi stemmer overens med et mønster for en GUID.
Her er et par eksempler på GUID's:
2c342f82-83d2-42a3-8e59-ab0fa357023a
bff33caa-46b7-4343-847d-68fb7173a114
3d1c1a23-cb78-45a8-bc28-90a38259c624
1222fe0f-7e9b-4d3c-b520-55dc80d5f6a3
Som det relativt tydeligt fremgår, er mønstret:
8 karakterer
1 bindestreg
4 karakterer
1 bindestreg
4 karakterer
1 bindestreg
4 karakterer
1 bindestreg
12 karakterer
Karakterer er hex-værdier, dvs. en af følgende karakterer: 0123456789abcdef
Det er dog ikke super kritisk at der bliver tjekket for om det er en hex-værdi - tjek for at det er tal eller bogstaver er rigeligt.
Jeg har tidligere valideret at noget fx skal være tal / bogstaver / - / \ - Men det er altså ikke lykkedes mig at finde frem til det pattern der er nødvendigt her :-(
Her er mit eksempel vedr. ovennævnte:
Dim regex As New System.Text.RegularExpressions.Regex("^[a-z0-9\\-]*$", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
If regex.IsMatch(strCheck) = False Then
Return "Indholdet skal bestå af tal, bogstaver, bindestreger eller backslashes."
End If
Håber det giver mening :-)