当前位置: 首页 > 图文教程 > 网络编程 > ASP > 正则表达式简介(9-10)

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

ASP 中的 正则表达式简介(9-10)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 92 ::
收藏到网摘: n/a

  9.非打印字符

有不少很有用的非打印字符,偶尔必须使用。下表显示了用来表示这些非打印字符的转义序列:

字符                       含义

\cx    匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。
        x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字
        符。

\f     匹配一个换页符。等价于 \x0c 和 \cL。

\n     匹配一个换行符。等价于 \x0a 和 \cJ。

\r     匹配一个回车符。等价于 \x0d 和 \cM。

\s    匹配任何空白字符,包括空格、制表符、换页符等等。等价于
       [\f\n\r\t\v]。

\S    匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t    匹配一个制表符。等价于 \x09 和 \cI。

\v    匹配一个垂直制表符。等价于 \x0b 和 \cK。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

10.字符匹配

句点 (.) 匹配一个字符串中任何单个的打印或非打印字符,除了换行符 (\n) 之外。下面的 Visual Basic Scripting
Edition 正则表达式可以匹配 'aac'、'abc'、'acc'、'adc'如此等等,同样也可以匹配 'a1c'、'a2c'、a-c'以及
a#c':

/a.c/

等价的 VBScript 正则表达式为:

"a.c"

如果试图匹配一个包含文件名的字符串,其中句点 (.) 是输入字符串的一部分,则可以在正则表达式中的句点前面加上一
个反斜杠 (\) 字符来实现这一要求。举例来说,下面的 Visual Basic Scripting Edition 正则表达式就能匹
配 'filename.ext':

/filename\.ext/

对 VBScript 而言,等价的表达式如下所示:

"filename\.ext"

这些表达式仍然是相当有限的。它们只允许匹配任何单字符。很多情况下,对从列表中匹配特殊字符十分有用。例如,如
果输入文字中包含用数字表示为Chapter 1, Chapter 2诸如此类的章节标题,你可能需要找到这些章节标题。


括号表达式

可以在一个方括号 ([ 和 ]) 中放入一个或多个单字符,来创建一个待匹配的列表。如果字符被放入括号中括起来,则该
列表称为括号表达式。括号内和其他任何地方一样,普通字符代表其本身,也就是说,它们匹配输入文字中出现的一处自
己。大多数特殊字符在位于括号表达式中时都将失去其含义。这里有一些例外:

1.  ']' 字符如果不是第一项,则将结束一个列表。要在列表中匹配 ']' 字符,请将其放在第一项,紧跟在开始的 '['
后面。

2.  '\' 仍然作为转义符。要匹配 '\' 字符,请使用 '\\'。

括号表达式中所包含的字符只匹配该括号表达式在正则表达式中所处位置的一个单字符。下面的 Visual Basic
Scripting Edition 正则表达式可以匹配 'Chapter 1'、'Chapter 2'、'Chapter 3'、'Chapter 4' 以及 'Chapter 5':

/Chapter ][12345]/

在 VBScript 中要匹配同样的章节标题,请使用下面的表达式:

"Chapter [12345]"

请注意单词 'Chapter' 及后面的空格与括号内的字符的位置关系是固定的。因此,括号表达式只用来指定满足紧跟在单
词 'Chapter' 和一个空格之后的单字符位置的字符集合。这里是第九个字符位置。

如果希望使用范围而不是字符本身来表示待匹配的字符,则可以使用连字符将该范围的开始和结束字符分开。每个字符的
字符值将决定其在一个范围内的相对顺序。下面的 Visual Basic Scripting Edition 正则表达式包含了一个等价于上面
所示的括号列表的范围表达式。

/Chapter [1-5]/

VBScipt 中相同功能的表达式如下所示:

"Chapter [1-5]"

如果以这种方式指定范围,则开始和结束值都包括在该范围内。有一点特别需要注意的是,在 Unicode 排序中起始值一定
要在结束值之前。

如果想在括号表达式中包括连字符,则必须使用下述方法之一:

1.  使用反斜杠将其转义: [\-]

2.  将连字符放在括号列表的开始和结束位置。下面的表达式能匹配所有的小写字母和连字符:[-a-z],[a-z-]