..


Links Patrocinados

Expressão regular para filtro ISAPI Rewrite

Artigo escrito por Max Bossi
Página 1 de 3

Em um artigo anterior do meu amigo e colega Luca Ruggiero vimos como começar a trabalhar com o filtro ISAPI para reescrever as URLs no IIS.

Este artigo destaca como uma espécie de continuação do caminho já começou e tem como objetivo explicar um pouco "teoria, a fim de permitir que você escrever instruções para reescrever cada vez mais complexa e articulada com o apoio de expressões regulares.

Caracteres especiais

Começamos por ver o cd. caracteres especiais, ou seja, aqueles personagens que têm um significado especial em relação ao seu valor clássico texto:

Caráter Significado
. Qualquer caractere
* Zero ou mais repetições do caractere à esquerda
+ Uma ou mais repetições do caractere à esquerda
? O personagem para a esquerda pode estar presente ou não
| Escolha entre o que é direita e à esquerda
^ Top de linha ou o símbolo da negação se usado dentro de um conjunto de caracteres
$ Fim da linha
(E) Eles são usados ​​para criar sub-expressões, ou para identificar a variável que será chamado com $ N
{E} Eles são usados ​​para indicar o comprimento mínimo e máximo da string para a esquerda
[E] Ele contém um conjunto de caracteres

Alguns exemplos para entender melhor o significado desses caracteres especiais.
 



 .

 
Significa qualquer caracter e, portanto, aceita um (uno!) personagem qualquer.
 



 .*

 
A expressão acima é sempre verificado, porque ela aceita uma string vazia é qualquer string, como a nossa simbologia inclui uma repetição indefinidamente (de zero a infinito) de quaisquer caracteres.
 



 ab *

 
Esta expressão é testada com os seguintes resultados: "a", "ab", "abb", "abbb", "abbbb ",...
 



 ab +

 
Ocorre com "ab", "abb", "abbb ",... mas não com "a"!
 



 ab?

 
Ocorre com "a" ou "ab".
 



 {Ab} 2,4

 
Ocorre com "abb", "abbb", "abbbb".
 



 ^ A. *

 
Ocorre com qualquer string que começa com a letra "a"
 



 .* Z $

 
Ocorre com qualquer seqüência que termina com a letra "z"
 



 ^ C * US $

 
Ocorre com qualquer string que começa com "c" e termina com a letra "a". Por exemplo: "home", "Papel", "cola", etc.
 



 abc | def

 
Ocorre com "abc" ou com "def"
 



 a (b | c)

 
Ocorre com "ab" ou com "ac". Para conseguir isso, usou um par de parênteses para criar uma sub-expressão na contemplação, no nosso exemplo, a escolha entre "b" e "c"
 



 [Az]

 
Com o uso de colchetes, criamos um conjunto de caracteres. No nosso exemplo nós fornecemos uma gama de personagens que vão desde "a" até "z" e então abraça o alfabeto inteiro.
Note que o uso de "z" não é igual a 'Z', como no primeiro caso, vamos combinar apenas letras minúsculas no segundo, apenas com o caso.
 



 [A-zA-Z]

 
A expressão acima, no entanto, mostra-nos como aceitar todos esses caracteres do alfabeto são insensíveis ao caso.
 



 [0-9]

 
Esta expressão inclui qualquer número entre 0 e 9.

 



 [^ 0-9]

 
Esta expressão inclui qualquer caractere, exceto números. Fizemos isso usando a negação, no início do nosso conjunto, o ^ caractere especial.

Obviamente, organizar e combinar os vários exemplos acima, você vai notar que é possível prever um número quase infinito de possibilidades.

Finalmente, é claro, devemos considerar a possibilidade de que os personagens visto acima, podemos servir em seu valor clássico, ou seja, como meros personagens. Neste caso, fazemos uso do caractere de escape (\) antes do caractere especial que deseja usar como um personagem comum.
Por exemplo, vemos como escrever, em forma de esepressione, a string "pagina.html". Como sabemos, o ponto é um caractere especial e, portanto, fácil de usar como um ponto que temos que fazer isso:

 



 página \. html

 
Note, é claro, que o caractere de escape mesmo é, por sua vez, um carácter especial e, portanto, se você quiser usá-lo em seu valor literal comum, é preciso recorrer a uma fuga dupla:
 



 \ \

 

Na mesma categoria ...
E-Learning
ASP (Avançado) ASP (Avançado)
Curso completo para a criação de sites dinâmicos. A partir de 39 €.
ASP Zero (Ebook) ASP Zero (Ebook)
Aprendizagem Microsoft ASP e VBScript a partir do zero. Com apenas 29 €.
ASP.NET (Curso) ASP.NET (Curso)
Curso completo para construção de aplicações Web a partir de 49 €.
Links Patrocinados