Ne soyez pas timide avec les Regex !

Utilisation des regex dans le code

Lorsqu'on est développeur et qu'on connait (même succintement) les expressions régulières il ne faut pas hésiter à les utiliser. Bien évidemment, il ne faut pas les utiliser à tord et à travers. Si en PHP, vous avez besoin de vérifier qu'une donnée postée est un entier vous devriez utiliser la fonction is_int() ou ctype_digit(), parce que même si une expression régulière fonctionnerait (à cause ou grâce au typage faible selon les développeurs) elle aura de piètres performances face à une fonction native de PHP ou à la fonction ctype_digit() encore plus rapide.

Les Regex dans les éditeurs de texte

Tous les éditeurs de texte dignes de ce nom vous permettent de rechercher une chaine de caractère à partir d'une expression régulière. J'utilisais cette fonctionnalité sous NotePad++ et je continue avec Sublime Text. C'est utile pour rechercher une ligne dans un fichier mais c'est encore plus utile pour rechercher une ligne dans tout votre dossier de projet.

La recherche pénible

Dans un template (ou dans un fichier PHP car il n'y a pas que Django dans la vie), vous avez une variable qui affiche un nombre. Vous ne savez pas d'où provient cette variable car vous avez inclue un fichier qui contient beaucoup de classes sur-sur-surchargées ( => donc un code illisible) ce qui rend la recherche manuelle laborieuse. Vous avez besoin de savoir où est déclarée cette variable.
Vous avez déjà utilisé la recherche normale dans votre dossier avec

$ma_variable_trop_nulle=

Mais vous n'avez rien trouvé (sûrement parce qu'il doit y avoir un espace avant le signe =). Vous cherchez alors avec l'espace :

$ma_variable_trop_nulle =

Mais votre éditeur vous renvoie des centaines résultats mais ce sont uniquement des structures conditionnelles de ce type : "if ($ma_variable_trop_nulle ==7265)"
Vous pouvez continuer ainsi de suite jusqu'à trouver ou alors passer aux Regex !

La regex super-héroïne !

Les expressions régulières viennent alors à votre rescousse. D'un minuscule tapotement de clavier vous ajoutez cette expression dans votre éditeur :

\$ma_variable_trop_nulle\s*=[^=]

Et votre merveilleux éditeur vous renvoie la liste des déclarations / affectations de votre variable.

Elles sont tout de même bien gentilles les Regex non ?