png/run.pngRewriting - Les expressions régulières
Pour bien comprendre le mécanisme d'URL Rewriting il est nécessaire de connaitre (avoir des bases) les expressions régulières.
Qu'est-ce qu'une expression régulière ?
Il faut voir une expression régulière comme un modèle permettant de décrire une norme de chaines de caractères.
Une expression régulière est une suite de caractères, qui peuvent être normaux ou spéciaux.
Les caractères normaux ne désignent rien de particulier, à par eux-mêmes. C'est le cas des lettres et des chiffres.
Les caractères spéciaux, comprennent des signes de ponctuation, etc.

Ces caractères ont un comportement différent.
  • Le point . signifie "nimporte quel caractère".
  • L'étoile signifie "le caractère ou la régex précédent(e) répété(e) de 0 à plusieurs fois". Par exmeple la regex "a*" signifie "une suite de 0 ou plusieurs a", et la regex ".*" signifie "une suite de 0 ou plusieurs caractères".
  • Le plus + est presque comme l'étoile, au détail près que la suite doit commporter au moins une occurence. C'est à dire que "a+" correspond en fait à une suite de 1 ou plusieurs a, et donc est équivalent à "aa*".
  • Les crochets [ et ] définissent ce que l'on appelle une classe. Prenons une exemple : la regex "[a-z]" désigne un caractère entre a et z (une lettre minuscule, donc). L'utilisation du tiret n'est pas obligatoire, on peut par exemple construire la regex "[adj]" qui correpondra à un caractère : soit a, soit d, soit j. Et on peut combiner : "[a-z0-9]" désignera une lettre minuscule ou un chiffre.
  • le chapeau ^ correspond au début de ligne, et le dollar $­­ à la fin de ligne.
  • Les parenthèses ( et ) autour d'une regex permettent de capturer le contenu qui correspond à cette regex. Le contenu est stocké dans une variable appelée $­­1. Si il existe plusieurs parenthèses dans une même regex, alors les variables $­­2, $­­3, etc. seront utilisées.
  • les accolades { et } définissent une répétition. On utilise la virgule pour donner les bornes de l'intervalle de répétition. Par exemple, la regex ".{2,5}" correspond à une suite de 2 à 5 caractères quelqconques.
  • L'antislash permet de déspécialiser un caractère spécial. Par exemple, la regex ".*" correspond à une suite de 0 ou plusieurs étoiles.
ce sont ces règles que sont utilisées dans le fichier htaccess et donnent des [a-z0-9] pour définir les arguments de l'adresse.

Date de création : 18/10/2007 @ 11:06
Dernière modification : 18/10/2007 @ 11:22
Catégorie : Rewriting
Page lue 1136 fois


Prévisualiser Prévisualiser     Imprimer l'article Imprimer l'article

react.gifRéactions à cet article


Réaction n°1 

par hihi le 06/03/2008 @ 15:55

t'as piqué tout tes icones sur internet!


Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 16 membres


Membres connectés :

( personne )
Visites

   visiteurs

   visiteurs en ligne

Recherche




d'ou arrivez-vous ?
^ Haut ^