..


Liens sponsorisés

Expressions régulières pour la réécriture de filtre ISAPI

Article écrit par Max Bossi
Page 1 sur 3

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

Quelques exemples pour mieux comprendre la signification de ces caractères spéciaux.
 



 .

 
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.
 



 * Ab

 
Cette 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 | def

 
Se 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.
Notez que l'utilisation de "z" n'est pas égal à "Z" dans le premier cas que vous seul match lettres minuscules dans le second seulement avec le cas.
 



 [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 \. html

 
Notez, 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é:
 



 \ \

 

Dans la même catégorie ...
E-Learning
Cours ASP 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 Cours ASP à partir de zéro
Microsoft ASP et VBScript pour apprendre à partir de zéro. À seulement 29 €.
Cours ASP.NET Cours ASP.NET
Cours complet pour construire des applications Web à partir de 49 €.
Liens sponsorisés