Utiliser les expressions régulières avec C#.

Par llouisseize, 21 mars, 2025

Bonjour à vous utilisateurs de Syslog. On se retrouve une dernière fois pour en apprendre sur les expressions régulières et comment s'en servir. Nous avons vu dans mes articles précédents comment lire et écrire des expressions régulières et des outils pour parvenir à cela. Pour aujourd'hui j'aimerais mettre de côté l'aspect technique des expressions et plutôt voir comment un développeur peut ajouter cet outil dans ses projets.

[cC]#

Effectivement, il est possible d'utiliser les expressions régulières avec le langage de programmation C#. En premier lieu il est important d'importer la classe Regex suivante.

using System.Text.RegularExpressions;

Ensuite c'est bien simple, créer l'objet Regex avec l'expression désirée pour le contexte. Prenons une expression pour validation de courriel puisque nous en avons déjà vu une ensemble.

Regex expression = new Regex( "^[a-zA-Z0-9._%±]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$" );

C'est à partir de cet objet que nous serons en mesure d'apporter plusieurs manipulations à notre expression, ou bien avec notre expression. Effectivement, il nous sera possible d'appeler des méthodes comme :

  • IsMatch
  • Match
  • Replace

Et encore plus! Je vous invite après la lecture, à visiter cette page et à regarder l'ensemble des manipulations possibles. Prenons IsMatch pour commencer avec cette ligne de code suivante, il nous serait possible de vérifier si l'expression trouve une correspondance dans le texte passé en paramètre :

expression.IsMatch(syslog@crosemont.com); --> true

Ensuite nous avons Match qui est similaire à l'exemple précédent. Par contre cette méthode ne retourne pas si une correspondance est trouvée plus le contenu de la première correspondance trouvée.

expression.Match(syslog@crosemont.com); --> "syslog@crosemont.com"

J'aimerais maintenant conclure ma série d'article sur une méthode, une utilité que je regrette de ne pas avoir mentionné plus tôt.

expression.Replace(  "jean@outlook.com, paul@hotmail.com, marc@yahoo.com", "[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$",  "idefix.progression.ca"); --> "jean@idefix.progression.ca, paul@idefix.progression.ca, marc@idefix.progression.ca"

On appelle donc la méthode Replace en commençant par envoyer le texte à filtrer, l'expression régulière qui identifiera ce qu'on doit modifier et bien évidemment le texte à remplacer lors de la recherche. Comme on peut le voir dans l'exemple tout ce traitement est effectué et il nous est retourné le texte envoyé incluant les modifications apportées. Cet exemple est selon moi très simple et qu'il y aurait beaucoup plus de contexte dans lequel le remplacement nous serait très utile.

Dernière conclusion

Pour terminer, et ce de manière plus globale à l'ensemble des blogues, je crois que les expressions régulières sont très utiles et peuvent aider pour plusieurs situations. Je crois aussi que mes textes sont restés dans le contenu simple, de base sans être trop avancé. Avec cette rétrospection je crois que pour moi et pour vous, les lecteurs, j'aurais dû approfondir mes recherches pour mieux vous décortiquer ce sujet. Et pour terminer je vais inviter à tester vos connaissances ou bien d'améliorer vos connaissances regex en allant sur cette page web qui est un petit jeu pour améliorer ses connaissances. Regex crossword

MERCI!

Commentaires