Plein de ressources relatives aux expressions régulières.
Un article très complet sur les possibilités offertes par les expressions régulières en général et en JavaScript plus spécifiquement.
Ok donc valider une adresse email avec une regex est finalement quasi impossible si on s'en réfère aux RFCs.
Un site qui regroupe des tonnes d'exemples d'expressions régulières pour des usages communs (par exemple de la détection d'adresse email).
Créer une regex pour cibler les "string literals".
Une regex pour valider un hashtag. Implémentation en PHP.
<?php
/**
* PHP Regex to validate a Twitter hashtag
*
* Useful for validating a text input (an HTML form in your CMS or custom application) that must be a valid Twitter hashtag.
* Valid examples: #a, #_, #_1, #_a, #1a, #áéìôü, #123hàsh_täg446
* Invalid examples: #1, ##hashtag, #hash-tag, #hash.tag, #hash tag, #hashtag!, (any hashtag that is more than 140 characters long, hash symbol included)
*
* Regex explanation:
* First, the lookahead assertion (?=.{2,140}$) checks the minimum and max length, as explained here http://stackoverflow.com/a/4223213/1441613
* A hash symbol must be the first character. The allowed values for the hash symbol can be expressed with any of the following subpatterns: (#|\\uff0){1}, (#|\x{ff03}){1}, or (#|#){1}.
* A hashtag can contain any UTF-8 alphanumeric character, plus the underscore symbol. That's expressed with the character class [0-9_\p{L}]*, based on http://stackoverflow.com/a/5767106/1441613
* A hashtag can't be only numeric, it must have at least one alpahanumeric character or the underscore symbol. That condition is checked by ([0-9_\p{L}]*[_\p{L}][0-9_\p{L}]*), similar to http://stackoverflow.com/a/1051998/1441613
* Finally, the modifier 'u' is added to ensure that the strings are treated as UTF-8.
*
* More info:
* https://github.com/twitter/twitter-text-conformance
* https://github.com/nojimage/twitter-text-php
* https://github.com/ngnpope/twitter-text-php
*/
preg_match('/^(?=.{2,140}$)(#|\x{ff03}){1}([0-9_\p{L}]*[_\p{L}][0-9_\p{L}]*)$/u', '#hashtag');
Un outil pour tester les différentes fonctions utilisant les regex de PHP.
Un outil qui donne un aperçu visuel d'une expression régulière.
tl;dr
Les expression régulières pour les nuls.
Une sorte de langage pour rentre plus compréhensibles les expression régulières.
Un autre outil pour débugger les expression régulières de manière visuelle.
Un testeur de regex très complet qui gère les spécificités de PHP, Javascript et Python pour l'instant.
Un debugger visuel pour les expressions régulières.
Une manière très intelligente de programmer un routeur PHP de manière efficace en bidouillant un peu les expressions régulières.
Il s'agit de la librairie de routage utilisée dans Slim Framework, un micro-framework PHP que j'affectionne tout particulièrement.
Dessine un schéma correspondant à l'expression régulière. Ça peut aider à comprendre les plus velues.