..
Dans un précédent article de mon ami et collègue Luca Ruggiero nous avons vu comment commencer à travailler avec le filtre ISAPI pour la réécriture d'URL sur IIS.
Cet article se présente comme une sorte de prolongement du chemin déjà commencé et vise à expliquer un peu la théorie, afin de vous permettre d'écrire des instructions pour la réécriture de plus en plus complexe et articulée grâce à l'appui des expressions régulières.
Les caractères spéciaux
Nous commençons par voir le cd. caractères spéciaux, ces personnages qui ont une signification particulière par rapport à leur valeur texte classique:
| Caractère | Signification |
| . | Tout caractère |
| * | Zéro ou plusieurs répétitions du caractère à gauche |
| + | Un ou plusieurs répétitions de caractère à gauche |
| ? | Le caractère à la gauche peut être présent ou non |
| | | Choix entre ce qui est droite et la gauche |
| ^ | Haut de la ligne ou le symbole du déni s'il est utilisé dans un ensemble de caractères |
| $ | Fin de ligne |
| (S) | Ils sont utilisés pour créer les sous-expressions, ou d'identifier la variable qui sera ensuite appelé avec $ N |
| {Et} | Ils sont utilisés pour indiquer la longueur minimale et maximale de la chaîne vers la gauche |
| [Et] | Il contient un ensemble de caractères |
.Signifie n'importe quel caractère et accepte donc un (uno!) n'importe quel personnage.
.*L'expression est au-dessus toujours vérifiée, car il accepte une chaîne vide est une chaîne quelconque, que notre symbologie comprend une répéter indéfiniment (de zéro à l'infini) de tous les caractères.
* AbCette expression est testée avec les résultats suivants: "a", "AB", "ABB", "abbb", "abbbb ",...
ab +Se produit avec "AB", "ABB", "abbb ",... mais pas avec "un"!
ab?Se produit avec "a" ou "AB".
ab {2,4}
Se produit avec «ABB», «abbb", "abbbb".
^ * A.Se produit avec n'importe quelle chaîne qui commence par la lettre «a»
Z $ .*Se produit avec n'importe quelle chaîne qui se termine par la lettre «z»
^ C * a $Se produit avec n'importe quelle chaîne qui commence par "c" et se termine par la lettre «a». Par exemple: "maison", "Livre", "colle", etc.
abc | defSe produit avec "abc" ou avec "def"
une (b | c)Se produit avec «ab» ou avec «AC». Pour réaliser cela nous avons utilisé une paire de parenthèses afin de créer une sous-expression dans la contemplation, dans notre exemple, le choix entre "b" et "c"
[Az]Avec l'utilisation de crochets, nous avons créé un ensemble de caractères. Dans notre exemple, nous avons fourni une gamme de caractères allant de "A" à "z" et embrasse alors tout l'alphabet.
[A-zA-Z]L'expression ci-dessus, cependant, nous montre comment accepter tous les caractères de ces derniers sont insensibles à la casse.
[0-9]Ce terme comprend un nombre compris entre 0 et 9.
[^ 0-9]Ce terme inclut tous les caractères sauf les chiffres. Nous avons réalisé cela en utilisant le déni, au début de notre ensemble, le ^ caractère spécial.
Évidemment, en articulant et en combinant l'exemple ci-dessus diverses, vous remarquerez qu'il est possible de prédire un nombre presque infini de possibilités.
Enfin, bien sûr, nous devons envisager la possibilité que les personnages vus ci-dessus nous pouvons servir de leur valeur, c'est à dire classique, comme de simples caractères.
Dans ce cas, nous faisons usage du caractère d'échappement (\) avant le caractère spécial que nous voulons utiliser comme un caractère commun.
À titre d'exemple, nous voyons comment écrire, sous la forme d'esepressione, la chaîne "page.html".
Comme nous connaissons le point est un caractère spécial et, par conséquent, à utiliser comme un simple point nous avons à faire ceci:
Page \. htmlNotez, bien sûr, que le même caractère d'échappement est à son tour, un caractère spécial, et donc, si vous voulez l'utiliser dans sa valeur littérale commune, nous devons avoir recours à un double échappé:
\ \
| |
Cours ASP
Cours complet de création de sites Web dynamiques. Remise de -15% jusqu'au 15/11/2011. |
| |
Cours ASP à partir de zéro
Microsoft ASP et VBScript pour apprendre à partir de zéro. À seulement 29 €. |
| |
Cours ASP.NET
Cours complet pour construire des applications Web à partir de 49 €. |