..


赞助商链接

正则表达式重写为ISAPI过滤器

由Max博西写文章
第1页3

以前的文章我的朋友和同事卢卡鲁杰罗我们看到了如何使用ISAPI过滤器开始工作在IIS的URL重写。

本文站在作为一个已经开始的路径继续进行排序,旨在解释一下“理论,为了让你写重写日益复杂和具有正则表达式的支持挂接的说明

特殊字符

我们首先看到的CD。 特殊字符,这些字符即那些在与他们的传统价值文本的特殊含义:

字符 的含义
任何字符
* 零个或多个字符的重复向左
+ 一个或多个字符的重复向左
到左边的字符可能存在或不
| 两者之间的选择是正确的,左
^ 行或拒绝的象征顶部,如果在使用的字符集
$ 尾行
(E) 它们被用来创建子表达式,或来标识将被称为变量与$ N
{和} 它们被用来表示字符串的最小和最大长度向左
[和] 它包含的字符集

举几个例子,以便更好地了解这些特殊字符的意义。
指任何字符,因此接受(uno!)的任何字符。
 



 *

 
上面的表达式总是验证,因为它接受一个空字符串是任何字符串,因为我们的符号包括无限期地重复任何字符(从零到无穷大)。
 



 AB *

 
这个表达式进行测试,结果如下:“A”,“AB”,“ABB”,“ABBB”,“abbbb ",...
 



 AB +

 
发生与“AB”,“ABB”,“ABBB ",... 而与“一”!
 



 AB?

 
发生与“a”或“AB”。
 



 {AB} 2.4

 
发生与“ABB”,“ABBB”,“abbbb”。
 



 ^ A. *

 
发生任何字符串以字母“A”开头
 



 * Z $

 
发生任何字符串以字母“Z”结尾
 



 ^ C *美元

 
发生任何字符串开头的“C”与字母“a”结尾。 例如:“家”,“纸”,“胶水”等。
 



 ABC | DEF

 
发生与“ABC”或“高清”
 



 A(B | C)

 
发生与“AB”或“交流”。 要实现这一点,我们用一对括号创造沉思子表达,在我们的例子中,在“B”和“c”的选择
 



 [AZ]

 
随着使用方括号,我们创建了一个字符集。 在我们的例子中,我们已经提供了从“A”到“Z”到字符范围,然后拥抱整个字母表。
需要注意的是“Z”的使用不等于“Z”在第一种情况下,我们将匹配的情况下才与后者只小写字母。
 



 [A - ZA - Z]

 
上面的表达式,但是,我们如何接受所​​有这些字母字符大小写不敏感。
 



 [0-9]

 
该表达式包括0和9之间的任何数字。

 



 [^ 0-9]

 
该表达式包括数字以外的任何字符。 我们没有使用否定这一点,在我们的设置,特殊字符^开始。

显然,上述安排,结合你的各种例子会发现,它是可以预测的可能性几乎无限的。

最后,当然,我们必须考虑的可能性,上面我们看到的字符可以服务于他们的传统价值,即作为单纯的字符。 在这种情况下,我们做出的特殊字符之前,我们要作为一个共性的转义字符(\)的使用。
例如,我们看到如何写的esepressione形式,字符串“page.html的”。 正如我们所知道的一点是一个特殊字符,因此,容易使用,这一点我们必须这样做:

 



页面\。HTML

 
请注意,当然,相同的转义字符,反过来,一个特殊字符,因此,如果你想用它的字面共同的价值的话,我们必须求助于双逃生:
 



 \ \

 

在同一类...
电子学习
ASP(高级) ASP(高级)
全部课程用于创建动态Web站点。 从39€。
ASP零(电子书) ASP零(电子书)
从头开始学习微软的ASP和VBScript。 在只有29€。
ASP.NET(课程) ASP.NET(课程)
全部课程建设从49€Web应用程序。
赞助商链接