Expressions régulières
Les
expressions régulières (regex) sont des chaînes de caractères spéciales
permettant de décrire et de rechercher des motifs spécifiques dans du texte.
Elles constituent un outil puissant pour la validation de données, l'extraction
d'informations et la manipulation de chaînes de caractères en VB.NET.
Voici
un aperçu de l'utilisation des expressions régulières en VB.NET :
1.
Classe Regex
Le
système d'expressions régulières en VB.NET est géré par la classe System.Text.RegularExpressions.Regex
.
Cette classe fournit des méthodes pour définir des motifs regex, rechercher des
correspondances dans du texte, et extraire des sous-chaînes correspondantes.
2.
Syntaxe des expressions régulières
Les
expressions régulières utilisent des métacaractères spéciaux en plus des
caractères littéraux. Ces métacaractères ont un sens particulier dans le
contexte de la recherche de motifs.
Exemples
de métacaractères courants
·
.
:
Correspond à n'importe quel caractère unique
·
*
:
Correspond à zéro ou plus d'occurrences du caractère précédent
·
+
:
Correspond à une ou plus d'occurrences du caractère précédent
·
?
:
Correspond à zéro ou une occurrence du caractère précédent
·
[]
:
Classe de caractères (correspond à l'un des caractères spécifiés entre les
crochets)
·
^
:
Début de la chaîne
·
$
:
Fin de la chaîne
3.
Méthodes principales de la classe Regex
·
IsMatch(text As String)
:
Détermine si le motif regex correspond à une occurrence dans le texte.
·
Match(text As String)
:
Renvoie un objet Match
contenant des informations sur la
première correspondance du motif regex dans le texte.
·
Matches(text As String)
:
Renvoie une collection MatchCollection
contenant
toutes les correspondances du motif regex dans le texte.
·
Replace(text As String,
replacement As String)
: Remplace toutes les occurrences
du motif regex dans le texte par une chaîne de remplacement spécifiée.
Exemple
d'utilisation :
Voici
un exemple de code VB.NET qui utilise la classe Regex
pour valider une adresse email :
vbnetCopier
Dim
emailRegex
As
New
Regex(
"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
)
Dim
As
String
=
"exemple@exemple.com"
If
emailRegex.IsMatch(email)
Then
Console.WriteLine(
"Adresse email valide"
)
Else
Console.WriteLine(
"Adresse email invalide"
)
End
If
Commentaires
Enregistrer un commentaire