..


Enlaces patrocinados

Expresiones regulares para la reescritura de filtro ISAPI

Artículo escrito por Max Bossi
Página 1 de 3

En un artículo anterior de mi amigo y colega Luca Ruggiero hemos visto cómo empezar a trabajar con el filtro ISAPI para reescribir las URL de IIS.

En este artículo se presenta como una especie de continuación del camino ya se inició y tiene como objetivo explicar un poco de teoría a fin de permitir que usted escriba las instrucciones para volver a escribir cada vez más compleja y articulada con el apoyo de las expresiones regulares.

Los caracteres especiales

Comenzamos viendo el cd. caracteres especiales, es decir, aquellos personajes que tienen un significado especial en relación con su valor de texto clásico:

Carácter Significado
. Cualquier carácter
* Cero o más repeticiones del carácter a la izquierda
+ Una o más repeticiones del carácter a la izquierda
? El carácter de la izquierda puede estar presente o no
| Posibilidad de elegir entre lo que es derecha y la izquierda
^ Superior de la línea o el símbolo de la negación si se utiliza dentro de un conjunto de caracteres
$ Final de la línea
(E) Que se utilizan para crear las expresiones sub-, o para identificar la variable que luego se llamará con $ N
{Y} Se utilizan para indicar la longitud mínima y máxima de la cadena a la izquierda
[Y] Contiene un conjunto de caracteres

Unos pocos ejemplos para entender mejor el significado de estos caracteres especiales.
 



 .

 
Significa cualquier carácter, por lo que acepta una (uno!) cualquier carácter.
 



 .*

 
La expresión anterior se verifica siempre, ya que acepta una cadena vacía es una cadena, ya que nuestro simbología incluye una repetición indefinida (de cero a infinito) de caracteres.
 



 ab *

 
Esta expresión se prueba con los siguientes resultados: "a", "ab", "ABB", "abbb", "abbbb ",...
 



 ab +

 
Ocurre con "ab", "ABB", "abbb ",... pero no con "a"!
 



 ab?

 
Ocurre con la "a" o "ab".
 



 {Ab} 2.4

 
Ocurre con "abb", "abbb", "abbbb".
 



 ^ A. *

 
Ocurre con cualquier cadena que comienza con la letra "a"
 



 .* Z $

 
Ocurre con cualquier cadena que termina con la letra "z"
 



 ^ C * a $

 
Ocurre con cualquier cadena que empieza con "c" y termina con la letra "a". Por ejemplo: "casa", "Papel", "pegamento", etc.
 



 abc | def

 
Ocurre con "abc" o con "def"
 



 a (b | c)

 
Ocurre con "b" o con "ac". Para lograr esto se utilizó un par de paréntesis para crear una sub-expresión en la contemplación, en nuestro ejemplo, la elección entre "b" y "c"
 



 [Az]

 
Con el uso de corchetes, hemos creado un conjunto de caracteres. En nuestro ejemplo, hemos proporcionado una serie de personajes que van desde la "a" a la "z" y luego abraza a todo el alfabeto.
Tenga en cuenta que el uso de la "z" no es igual a 'Z' como en el primer caso, vamos a coincidir sólo con letras minúsculas en este último sólo en el caso.
 



 [A-Za-z]

 
La expresión anterior, sin embargo, nos muestra cómo a aceptar todos estos caracteres del alfabeto son mayúsculas y minúsculas.
 



 [0-9]

 
Esta expresión incluye cualquier número entre 0 y 9.

 



 [^ 0-9]

 
Esta expresión incluye cualquier carácter excepto los números. Hicimos esto mediante el uso de la negación, al comienzo de nuestro conjunto, el ^ carácter especial.

Obviamente, la organización y la combinación de varios el ejemplo anterior se dará cuenta de que es posible predecir un número casi infinito de posibilidades.

Finalmente, por supuesto, debemos considerar la posibilidad de que los personajes vistos anteriormente nos puede servir en su valor clásico, es decir, como meros personajes. En este caso hacemos uso de el carácter de escape (\) delante del carácter especial que desea utilizar como un carácter común.
Por ejemplo, podemos ver la forma de escribir, en forma de esepressione, la cadena "pagina.html". Como sabemos, el punto es un carácter especial y, por tanto, fácil de usar como un punto que tenemos que hacer lo siguiente:

 



 Página \. html

 
Tenga en cuenta, por supuesto, que el mismo carácter de escape es, a su vez, un carácter especial y por lo tanto, si desea utilizarlo en su valor literal común, tenemos que recurrir a un escape doble:
 



 \ \

 

En la misma categoría ...
E-Learning
ASP (Advanced) ASP (Advanced)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 39 €.
ASP Cero (Ebook) ASP Cero (Ebook)
Aprendizaje de Microsoft ASP y VBScript desde cero. Con sólo 29 €.
ASP.NET (Curso) ASP.NET (Curso)
Ciclo completo para la creación de aplicaciones Web y un 15% de descuento hasta el 14/09/2011.
Enlaces patrocinados