iHateRegex - Le site qui décortique les expressions régulières pour ceux qui les détestent

par Korben -

Si vous avez pour habitude de manipuler des expressions régulières (Regexp), voici un site qui devrait vous aider à les tester, mais surtout à les comprendre un peu mieux.

Ce site c’est iHateRegex développé par Geon George et ça s’adresse aux gens comme moi qui détestent les regexp trop compliquées ;-).

Pourquoi ? Et bien en plus de nombreux exemples assez classiques, le site permet de visualiser à l’aide d’un graphique le fonctionnement de votre expression régulière.

Ainsi, plus besoin de vous prendre la tête pour capter son fonctionnement et éventuellement les optimiser ou les debugger.

Voici par exemple une Regex qui permet d’isoler les dates ayant le format jj/mm/aaaa.

(?:(?:31(/|-|.)(?:0?[13578]|1[02]))1|(?:(?:29|30)(/|-|.)(?:0?[1,3-9]|1[0-2])2))(?:(?:1[6-9]|[2-9]d)?d{2})$|^(?:29(/|-|.)0?23(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1d|2[0-8])(/|-|.)(?:(?:0?[1-9])|(?:1[0-2]))4(?:(?:1[6-9]|[2-9]d)?d{2})

C’est comme si on me parlait en Wraith (ref à Stargate pour ceux qui se poseraient la question). Heureusement, avec iHateRegex, celle-ci peut devenir claire comme de l’eau de roche avec le petit schéma suivant. J’ai choisi un exemple un peu complexe, j’avoue, mais c’est pour vous montrer que l’outil permet d’aller loin.

Voici un exemple un peu plus simple qui matche les adresses email :

À bookmarker pour les soirées d’hiver.