samedi 5 octobre 2013

Expressions régulières, le nom qui fache !

  • Introduction
Dans cette article, nous allons faire un rapide tour d'horizon des expressions régulières et notamment leur utilité et la syntaxe. Dans le jargon on parle aussi de regexp (REGular EXPression).


  • Match
Du sport ? Oui, mais intellectuel ! Ce n'est pas comme au foot; ici il faut se creuser la tête car trouver l'expression répondant à nos critères de recherche n'est pas toujours évidente, surtout quand on débute dans le domaine ! Ah oui j'oubliai; pour les non bilingues "match" cela veut dire "correspondre".


  • Un must have !
C'est le site à avoir dans ses favoris ! C'est en potassant pas mal de cours et de documentation sur le sujet que je suis tombé sur cet excellent outil qui nous simplifie la vie. En un coup d'oeil on peux voir si notre regexp est valide ou non. Bref merci aux développeurs pour cet outil !

Version Online:
http://www.gskinner.com/RegExr/

Version Offline:
http://get.adobe.com/fr/air/ (prérequis)
http://gskinner.com/RegExr/desktop/RegExr.air


  • Pense bête (quelques rappels)
\D alpha (lettre uniquement)
\d digit (chiffre uniquement)
\s espace
(?:abc) ?: permet de ne pas extraire ce groupe d'un match d'une regexp
* 0 ou plusieurs fois
+ 1 ou plusieurs fois
? 0 ou 1 fois
/D{3,9} entre 3 et 9 caractères
/D{2} exactement 2 caractères


  • Exemple de d'expressions régulières
♦    /^ba.*\.txt$/

Cette expression permet d'inclure tous les fichiers texte (.txt) dont le nom débute par "ba". Ainsi, si nous avons les fichiers: beurre.txt, battre.txt, biere.txt et balle.txt alors seuls les fichiers battre.txt et balle.txt seront inclus.

♦    /snmp-server\shost\s((:?\d{1,3}\.){3}\d{1,3})/

Permet d'extraire l'adresse IP qui correspond à la ligne snmp-server host. (Extrait la chaine de caractère 10.11.12.13 si la ligne vaut snmp-server host 10.11.12.13)

Aucun commentaire:

Enregistrer un commentaire