ASP教程之RegExp工具正则表达式功能用法
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。工具|正则RegExp工具的用法:FunctionRegExpTest(patrn,strng)
DimregEx,Match,Matches创建变量。
SetregEx=NewRegExp创建正则表达式。
regEx.Pattern=patrn设置形式。
regEx.IgnoreCase=True设置是不是辨别字符巨细写。
regEx.Global=True设置全局可用性。
SetMatches=regEx.Execute(strng)实行搜刮。
ForEachMatchinMatches遍历婚配汇合。
RetStr=RetStr&"Matchfoundatposition"
RetStr=RetStr&Match.FirstIndex&".MatchValueis"
RetStr=RetStr&Match.Value&"."&vbCRLF
Next
RegExpTest=RetStr
EndFunction
MsgBox(RegExpTest("is.","IS1is2IS3is4"))
RegExp工具的属性
◎Global属性
Global属性设置或前往一个Boolean值,该值指明在全部搜刮字符串时形式是全体婚配仍是只婚配第一个。
语法
object.Global[=True|False]
object参数老是RegExp工具。假如搜刮使用于全部字符串,Global属性的值为True,不然其值为False。默许的设置为True。
Global属性的用法(改动付与Global属性的值并察看其效果):
FunctionRegExpTest(patrn,strng)
DimregEx创建变量。
SetregEx=NewRegExp创建标准表达式。
regEx.Pattern=patrn设置形式。
regEx.IgnoreCase=True设置是不是辨别字母的巨细写。
regEx.Global=True设置全程性子。
RegExpTest=regEx.Execute(strng)实行搜刮。
EndFunction
MsgBox(RegExpTest("is.","IS1is2IS3is4"))
◎IgnoreCase属性
IgnoreCase属性设置或前往一个Boolean值,指明形式搜刮是不是辨别巨细写。
语法
object.IgnoreCase[=True|False]
object参数老是一个RegExp工具。假如搜刮是辨别巨细写的,则IgnoreCase属性为False;不然为True。缺省值为True。
IgnoreCase属性的用法(改动付与IgnoreCase属性的值以察看其效果):
FunctionRegExpTest(patrn,strng)
DimregEx创建变量。
SetregEx=NewRegExp创建正则表达式。
regEx.Pattern=patrn设置形式。
regEx.IgnoreCase=True设置是不是辨别巨细写。
RegExpTest=regEx.Execute(strng)实行搜刮。
EndFunction
MsgBox(RegExpTest("is.","IS1is2IS3is4"))
◎Pattern属性
Pattern属性设置或前往被搜刮的正则表达式形式。
语法
object.Pattern[="searchstring"]
Pattern属性的语法包括以下几个部分:
语法申明:
object必须的。老是一个RegExp工具变量。
searchstring可选的。被搜刮的正则字符串表达式。它大概包括设置部分表格中的各类正则表达式字符。
设置
在誊写正则表达式的形式时利用了特别的字符和序列。上面形貌了可使用的字符和序列,并给出了实例。
将下一个字符标志为特别字符或字面值。比方"n"与字符"n"婚配。"
"与换行符婚配。序列""与""婚配劈面,"("与"("婚配。
^婚配输出的入手下手地位。
$婚配输出的开头。
*婚配前一个字符零次或几回。比方,"zo*"能够婚配"z"、"zoo"。
+婚配前一个字符一次或屡次。比方,"zo+"能够婚配"zoo",但不婚配"z"。
?婚配前一个字符零次或一次。比方,"a?ve?"能够婚配"never"中的"ve"。
.婚配换行符之外的任何字符。
(pattern)与形式婚配并记着婚配。婚配的子字符串能够从作为了局的Matches汇合中利用Item...获得。假如要婚配括号字符(和),可以使用"("或")"。
x|y婚配x或y。比方"z|food"可婚配"z"或"food"。"(z|f)ood"婚配"zoo"或"food"。
{n}n为非负的整数。婚配刚好n次。比方,"o{2}"不克不及与"Bob中的"o"婚配,可是能够与"foooood"中的前两个o婚配。
{n,}n为非负的整数。婚配最少n次。比方,"o{2,}"不婚配"Bob"中的"o",可是婚配"foooood"中一切的o。"o{1,}"等价于"o+"。"o{0,}"等价于"o*"。
{n,m}m和n为非负的整数。婚配最少n次,最多m次。比方,"o{1,3}"婚配"fooooood"中前三个o。"o{0,1}"等价于"o?"。
一个字符集。与括号中字符的个中之一婚配。比方,""婚配"plain"中的"a"。
[^xyz]一个否认的字符集。婚配不在此括号中的任何字符。比方,"[^abc]"能够婚配"plain"中的"p".
暗示某个局限内的字符。与指定区间内的任何字符婚配。比方,""婚配"a"与"z"之间的任何一个小写字母字符。
[^m-z]否认的字符区间。与不在指定区间内的字符婚配。比方,""与不在"m"到"z"之间的任何字符婚配。
与单词的界限婚配,即单词与空格之间的地位。比方,"er"与"never"中的"er"婚配,可是不婚配"verb"中的"er"。
B与非单词界限婚配。"ea*rB"与"neverearly"中的"ear"婚配。
d与一个数字字符婚配。等价于。
D与非数字的字符婚配。等价于[^0-9]。
f与分页符婚配。
与换行符字符婚配。
与回车字符婚配。
s与任何白字符婚配,包含空格、制表符、分页符等。等价于"[f
v]"。
S与任何非空缺的字符婚配。等价于"[^f
v]"。
与制表符婚配。
v与垂直制表符婚配。
w与任何单词字符婚配,包含下划线。等价于""。
W与任何非单词字符婚配。等价于"[^A-Za-z0-9_]"。
um婚配num个,个中num为一个正整数。援用回到记着的婚配。比方,"(.)1"婚配两个一连的不异的字符。
婚配n,个中n是一个八进制换码值。八进制换码值必需是1,2或3个数字长。比方,"11"和"