asp正则表达式学习(4)_ASP教程
推荐:如何用ASP输出Excel文件在asp中利用excel的一个方法是将excel文件作为一个数据库进行链接,然后的操作和对access数据库操作类似。但是这个方法不是总能有用的,应为excel不是关系型的数据库。对于一个固定格式,
括号表达式
可以在一个方括号 ([ 和 ]) 中放入一个或多个单字符,来创建一个待匹配的列表。如果字符被放入括号中括起来,则该列表称为括号表达式。括号内和其他任何地方一样,普通字符代表其本身,也就是说,它们匹配输入文字中出现的一处自己。大多数特殊字符在位于括号表达式中时都将失去其含义。这里有一些例外:
']' 字符如果不是第一项,则将结束一个列表。要在列表中匹配 ']' 字符,请将其放在第一项,紧跟在开始的 '[' 后面。
'\' 仍然作为转义符。要匹配 '\' 字符,请使用 '\\'。
括号表达式中所包含的字符只匹配该括号表达式在正则表达式中所处位置的一个单字符。下面的 JScript 正则表达式可以匹配 'Chapter 1'、'Chapter 2'、'Chapter 3'、'Chapter 4' 以及 'Chapter 5':/Chapter [12345]/在 VBScript 中要匹配同样的章节标题,请使用下面的表达式:"Chapter [12345]"
请注意单词 'Chapter' 及后面的空格与括号内的字符的位置关系是固定的。
因此,括号表达式只用来指定满足紧跟在单词 'Chapter' 和一个空格之后的单字符位置的字符集合。这里是第九个字符位置。
如果希望使用范围而不是字符本身来表示待匹配的字符,则可以使用连字符将该范围的开始和结束字符分开。每个字符的字符值将决定其在一个范围内的相对顺序。下面的 JScript 正则表达式包含了一个等价于上面所示的括号列表的范围表达式。
/Chapter [1-5]/VBScript 中相同功能的表达式如下所示:"Chapter [1-5]" 如果以这种方式指定范围,则开始和结束值都包括在该范围内。有一点特别需要注意的是,在 Unicode 排序中起始值一定要在结束值之前。
如果想在括号表达式中包括连字符,则必须使用下述方法之一:
使用反斜杠将其转义: [\-]
将连字符放在括号列表的开始和结束位置。下面的表达式能匹配所有的小写字母和连字符: [-a-z] [a-z-]
创建一个范围,其中开始字符的值小于连字符,而结束字符的值等于或大于连字符。下面两个正则表达式都满足这一要求:[!--] [!-~]
同样,通过在列表开始处放置一个插入符(^),就可以查找所有不在列表或范围中的字符。如果该插入符出现在列表的其他位置,则匹配其本身,没有任何特殊含义。下面的 JScript 正则表达式匹配章节号大于 5 的章节标题:
/Chapter [^12345]/对 VBScript 则使用:"Chapter [^12345]" 在上面所示的示例中,表达式将匹配第九个位置处除1, 2, 3, 4, or 5 之外的任何数字字符。因此, 'Chapter 7' 为一个匹配,同样 'Chapter 9' 也是如此。
上面的表达式可以使用连字符 (-) 表示。对 JScript 为:/Chapter [^1-5]/或者,对 VBScript 为:"Chapter [^1-5]"
括号表达式的典型用法是指定对任何大写或小写字母字符或任何数字的匹配。
下面的 JScript 表达式给出了这一匹配:/[A-Za-z0-9]/等价的 VBScript 表达式为:"[A-Za-z0-9]"
分享:如何用ASP处理多关键词查询在web开发中经常遇到多关键词对对单个字段查询,我一般是通过动态数组来实现的。当然多个关键词的一般是用空格或,隔开,我这几假设多个关键词用空格隔开,关键字字符串为keyStr,具体代码为
- 相关链接:
- 教程说明:
ASP教程-asp正则表达式学习(4)。