Maison >développement back-end >Tutoriel C#.Net >Expression régulière en C#
La correspondance de modèles est effectuée en C# à l'aide d'une expression régulière et la classe regex de C# est utilisée pour créer une expression régulière en C#, une norme pour la correspondance de modèles dans les chaînes et pour le remplacement est définie à l'aide d'une expression régulière et indique à l'ordinateur via l'utilisateur comment pour rechercher un modèle spécifique dans une chaîne et quelle doit être la réponse lorsqu'il trouve le modèle spécifique qu'il recherche et regex est l'abréviation d'une expression régulière, les expressions régulières globales en C# sont une méthode puissante pour identifier et remplacer le texte dans les chaînes définies dans un format particulier.
Ce qui suit est une liste de la syntaxe de base utilisée pour les expressions régulières en C#. Ce sont :
La liste des quantificateurs importants est la suivante :
La liste des caractères spéciaux importants est la suivante :
Les caractères peuvent être regroupés en les mettant entre crochets. En faisant cela, au moins un caractère de l'entrée correspondra à n'importe quel caractère de la classe.
[] : Une plage de caractères peut être associée à l'aide de []. Prenons l'exemple [Xyz]. Cette expression correspond à x, y et z.
Considérons l'exemple [c-r]. Cette expression correspond à n'importe lequel des caractères compris entre c et r.
Les choses peuvent être regroupées en utilisant les parenthèses ( et ).
Fondamentalement, il existe deux types de moteurs d'expressions régulières. Ce sont des moteurs dirigés vers le texte et des moteurs dirigés vers les expressions régulières. Un moteur dirigé par regex parcourt l'expression regex en essayant de faire correspondre le jeton suivant de l'expression regex au caractère suivant. L'expression régulière avance si une correspondance est trouvée, sinon elle revient à la position précédente dans l'expression régulière et à la chaîne à analyser où elle peut essayer différents chemins à travers l'expression régulière. Un moteur dirigé vers le texte parcourt la chaîne en essayant toutes les permutations de l'expression regex avant de passer au caractère suivant dans la chaîne. Il n'y a pas de retour en arrière ou de retour en arrière dans le moteur dirigé vers le texte. La correspondance la plus à gauche est toujours renvoyée par le moteur d'expression régulière même s'il existe des possibilités de retrouver les correspondances exactes plus tard. Le moteur commence par le premier caractère de la chaîne chaque fois qu'une expression régulière doit être appliquée à la chaîne. Toutes les permutations possibles sont appliquées au premier caractère et les résultats semblent échouer, puis les permutations sont déplacées vers le deuxième caractère de la chaîne et ce processus se poursuit jusqu'à ce que le moteur d'expression régulière trouve la correspondance exacte.
Prenons l'exemple Vérifiez l'eau de la baignoire avant d'aller au bain. Il est demandé au moteur d'expression régulière de trouver le mot bain dans la phrase ci-dessus. Le premier caractère C correspond à b par le moteur d'expression régulière et c'est un échec. Ainsi, le caractère suivant H essaie de correspondre à b par le moteur d'expression régulière et encore une fois, c'est un échec. Cela continue et lorsque le moteur d'expression régulière essaie de faire correspondre le 24ème caractère avec b, cela correspond. Ainsi, il continue et fait correspondre le mot bain de la baignoire avec le mot bain et le moteur signale le mot bain de la baignoire comme une correspondance correcte et il n'ira pas plus loin dans la déclaration pour voir s'il y a d'autres correspondances. C'est ainsi que le moteur regex fonctionne en interne.
L'expression régulière en C# utilise les méthodes suivantes. Ce sont :
Programme C# pour démontrer l'utilisation d'expressions régulières pour la vérification des numéros de mobile.
Code :
using System; using System.Text.RegularExpressions; class Check { static void Main(string[] args) { //Mobile numbers are given as a input to an array of strings string[] nos = {"9902147368", "9611967273", "63661820954"}; foreach(string s in nos) { Console.WriteLine("The mobile number {0} {1} a valid number.", s, checkvalid(s) ? "is" : "is not"); } Console.ReadKey(); } // Regex expressions are verified through this code block public static bool checkvalid(string Number) { string cRegex = @"(^[0-9]{10}$)|(^\+[0-9]{2}\s+[0-9] {2}[0-9]{8}$)|(^[0-9]{3}-[0-9]{4}-[0-9]{4}$)"; Regex res = new Regex(cRegex); if (res.IsMatch(Number)) return (true); else return (false); } }
Sortie :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!