Les expressions régulières, un des outils les plus puissants mis a la disposition des développeurs (et des autres, ne soyons pas sectaire), mais aussi un des plus complexes a comprendre, utiliser et maintenir. N'existe-t-il aucune alternative proposant autant de puissance, mais avec un niveau de complexité raisonnable ?

La solution existe, et elle s'appelle SRL.

SRL – Simple Regex Language

Pour bien comprendre l'intérêt de la ressource presentee ici, il est important de comprendre l'aspect originel des expressions régulières. Si vous ne savez pas du tout de quoi nous sommes en train de parler ici ou que vous n'êtes pas sûr d'avoir déjà vu une expression régulière a l'état naturel, je vous conseille la lecture de l'article Par où commencer pour bien comprendre les expressions régulières ? .

SRL est comme son nom l'indique un langage permettant des créer des expressions régulières de manière simple, ressemblant beaucoup à du language SQL, ou même simplement à de l'anglais littéral

Comme un exemple est bien plus parlant que les mots, je vous propose de regarder tout de suite l'expression régulière suivante.

Trouvez un webdesigner disponible

Trouvez gratuitement le prochain talent qui réalisera votre projet ou rejoindra votre équipe.

Les plus avertis d'entre vous y reconnaitront sans doute une version très simplifiée d'une expression régulière permettant de matcher une adresse email. Maintenant, regardez donc la même expression en SRL :

Évidemment c'est moins concis, mais tellement plus lisible ! Avec SRL, même un développeur sans connaissances des expressions régulières peut lire votre code et le comprendre. Mieux, il est même capable avec quelques essais de modifier quelques petits éléments.

Évidemment, SRL est complet, et couvre tous les aspects des expressions régulières, du matching lookbehind en passant évidemment par les remplacements. Pour en savoir plus et avoir une référence complète du langage, je vous conseille d'aller faire un tour sur sa documentation.

Comment l'utiliser ?

Si SRL vous intéresse et que vous voulez l'utiliser, deux solutions s'offrent à vous. 

Premièrement, il est possible d'écrire votre expression SRL sur leur site puis l'utiliser pour matcher un texte ou générer une Regex standard.

Cette solution, si elle a l'avantage de fonctionner sur tous les langages et sans installer de dépendance supplémentaire, passe pour moi à côté de ce qui fait la vraie force de SRL : la maintenabilité. 

En effet, les personnes qui passeront après vous auront sous les yeux la version "incomprehensible" de votre reg Exp. À noter tout de même que SRL fait du bon travail et propose lors de la génération de votre requête un lien direct vers la page de génération de la query, que vous pourrez insérer en commentaire.

L'autre solution est d'utiliser la library correspondant à votre langage, disponible sur la page github de SRL.

Les langages actuellement supportés son Javascript, PHP, C#, Java et Python, mais il est tout à fait envisageable de porter vous-même SRL sur votre langage favoris.