asp的RegExp对象正则表达式功能用法汇总.docx

上传人:b****4 文档编号:11585064 上传时间:2023-03-19 格式:DOCX 页数:14 大小:19.95KB
下载 相关 举报
asp的RegExp对象正则表达式功能用法汇总.docx_第1页
第1页 / 共14页
asp的RegExp对象正则表达式功能用法汇总.docx_第2页
第2页 / 共14页
asp的RegExp对象正则表达式功能用法汇总.docx_第3页
第3页 / 共14页
asp的RegExp对象正则表达式功能用法汇总.docx_第4页
第4页 / 共14页
asp的RegExp对象正则表达式功能用法汇总.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

asp的RegExp对象正则表达式功能用法汇总.docx

《asp的RegExp对象正则表达式功能用法汇总.docx》由会员分享,可在线阅读,更多相关《asp的RegExp对象正则表达式功能用法汇总.docx(14页珍藏版)》请在冰豆网上搜索。

asp的RegExp对象正则表达式功能用法汇总.docx

asp的RegExp对象正则表达式功能用法汇总

asp的RegExp对象正则表达式功能用法

RegExp对象提供简单的正则表达式支持功能。

达到更好的替换效果。

RegExp对象提供简单的正则表达式支持功能。

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"匹配。

"n"与换行符匹配。

序列"\"与""匹配对面,"("与"("匹配。

 ^匹配输入的开始位置。

 $匹配输入的结尾。

 *匹配前一个字符零次或几次。

例如,"zo*"可以匹配"z"、"zoo"。

 +匹配前一个字符一次或多次。

例如,"zo+"可以匹配"zoo",但不匹配"z"。

 ?

匹配前一个字符零次或一次。

例如,"a?

ve?

"可以匹配"never"中的"ve"。

 .匹配换行符以外的任何字符。

 (pattern)与模式匹配并记住匹配。

匹配的子字符串可以从作为结果的Matches集合中使用Item[0]...[n]取得。

如果要匹配括号字符(和),可使用"("或")"。

 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?

"。

 [xyz]一个字符集。

与括号中字符的其中之一匹配。

例如,"[abc]"匹配"plain"中的"a"。

 [^xyz]一个否定的字符集。

匹配不在此括号中的任何字符。

例如,"[^abc]"可以匹配"plain"中的"p".

 [a-z]表示某个范围内的字符。

与指定区间内的任何字符匹配。

例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。

 [^m-z]否定的字符区间。

与不在指定区间内的字符匹配。

例如,"[m-z]"与不在"m"到"z"之间的任何字符匹配。

 b与单词的边界匹配,即单词与空格之间的位置。

例如,"erb"与"never"中的"er"匹配,但是不匹配"verb"中的"er"。

 B与非单词边界匹配。

"ea*rB"与"neverearly"中的"ear"匹配。

 d与一个数字字符匹配。

等价于[0-9]。

 D与非数字的字符匹配。

等价于[^0-9]。

 f与分页符匹配。

 n与换行符字符匹配。

 r与回车字符匹配。

 s与任何白字符匹配,包括空格、制表符、分页符等。

等价于"[fnrtv]"。

 S与任何非空白的字符匹配。

等价于"[^fnrtv]"。

 t与制表符匹配。

 v与垂直制表符匹配。

 w与任何单词字符匹配,包括下划线。

等价于"[A-Za-z0-9_]"。

 W与任何非单词字符匹配。

等价于"[^A-Za-z0-9_]"。

 num匹配num个,其中num为一个正整数。

引用回到记住的匹配。

例如,"(.)1"匹配两个连续的相同的字符。

 n匹配n,其中n是一个八进制换码值。

八进制换码值必须是1,2或3个数字长。

例如,"11"和"11"都与一个制表符匹配。

"011"等价于"01"与"1"。

八进制换码值不得超过256。

否则,只有前两个字符被视为表达式的一部分。

允许在正则表达式中使用ASCII码。

 xn匹配n,其中n是一个十六进制的换码值。

十六进制换码值必须恰好为两个数字长。

例如,"x41"匹配"A"。

"x041"等价于"x04"和"1"。

允许在正则表达式中使用ASCII码。

Pattern属性的用法:

复制代码代码如下:

FunctionRegExpTest(patrn,strng)

DimregEx'建立变量。

SetregEx=NewRegExp'建立正则表达式。

regEx.Pattern=patrn'设置模式。

regEx.IgnoreCase=True'设置是否区分大小写。

RegExpTest=regEx.Execute(strng)'执行搜索。

EndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

RegExp对象的方法

◎Execute方法

Execute方法对指定的字符串执行正则表达式搜索。

语法

object.Execute(string)

语法部分描述

object必需的。

总是一个RegExp对象的名称。

string必需的。

要在其上执行正则表达式的文本字符串。

说明

正则表达式搜索的设计模式是通过RegExp对象的Pattern来设置的。

Execute方法返回一个Matches集合,其中包含了在string中找到的每一个匹配的Match对象。

如果未找到匹配,Execute将返回空的Matches集合。

Execute方法的用法:

复制代码代码如下:

FunctionRegExpTest(patrn,strng)

DimregEx'建立变量。

SetregEx=NewRegExp'建立正则表达式。

regEx.Pattern=patrn'设置模式。

regEx.IgnoreCase=False'设置区分大小写。

regEx.Global=True'搜索全部匹配。

RegExpTest=regEx.Execute(strng)'执行搜索。

EndFunction

MsgBox(RegExpTest("is.","IS1is2IS3is4"))

◎Replace方法

Replace方法替换在正则表达式查找中找到的文本。

语法

object.Replace(string1,string2)

语法部分描述

object必需的。

总是一个RegExp对象的名称。

string1必需的。

string1是将要进行文本替换的字符串。

string2必需的。

string2是替换文本字符串。

说明

被替换的文本的实际模式是通过RegExp对象的Pattern属性设置的。

Replace方法返回string1的副本,其中的RegExp.Pattern文本已经被替换为string2。

如果没有找到匹配的文本,将返回原来的string1的副本。

eplace方法的用法:

复制代码代码如下:

FunctionReplaceTest(patrn,replStr)

DimregEx,str1'建立变量。

str1="Thequickbrownfoxjumpedoverthelazydog."

SetregEx=NewRegExp'建立正则表达式。

regEx.Pattern=patrn'设置模式。

regEx.IgnoreCase=True'设置是否区分大小写。

ReplaceTest=regEx.Replace(str1,replStr)'作替换。

EndFunction

MsgBox(ReplaceTest("fox","cat"))

'将'fox'替换为'cat'。

;另外,Replace方法在模式中替换subexpressions。

下面对以前示例中函数的调用,替换了原字符串中的所有字对:

MsgBox(ReplaceText("(S+)(s+)(S+)","$3$2$1"))'Swappairsofwords.

◎Test方法

Test方法对指定的字符串执行一个正则表达式搜索,并返回一个Boolean值指示是否找到匹配的模式。

语法

object.Test(string)

语法部分描述

object必需的。

总是一个RegExp对象的名称。

string必需的。

要执行正则表达式搜索的文本字符串。

说明

正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。

RegExp.Global属性对Test方法没有影响。

如果找到了匹配的模式,Test方法返回True;否则返回False。

复制代码代码如下:

Test方法的用法:

FunctionRegExpTest(patrn,strng)

DimregEx,retVal'建立变量。

SetregEx=NewRegExp'建立正则表达式。

regEx.Pattern=patrn'设置模式。

regEx.IgnoreCase=False'设置是否区分大小写。

retVal=regEx.Test(strng)'执行搜索测试。

IfretValThen

RegExpTest="找到一个或多个匹配。

"

Else

RegExpTest="未找到匹配。

"

EndIf

EndFunction

MsgBox(RegExpTest("","IS1is2IS3is4"))

元字符

说明

^

匹配字符串的开始位置

$

匹配字符串的结束位置

.

匹配任意单个字符(换行符\n除外)

|

交替

{…}

指定要限定的数量

[...]

指定要匹配的字符集

(…)

对表达式进行逻辑分组

*

匹配零或多个前面的表达式

+

匹配一或多个前面的表达式

?

匹配零或一个前面的表达式

\

放在上面任何一个字符之前,表示匹配该字符本身。

放在其他特殊字符后面,表示字符转义(见下面)

字符转义

说明

原始字符

除.$^{[(|)]}*+?

\之外的字符均匹配自身

\a

匹配铃声(闹铃)\u0007

\b

在[]中匹配一个空格\u0008,在其他情况下匹配字边界(位于\w和\W字符之间)

\t

匹配制表符\u0009

\r

匹制回车符\u000D

\v

匹配垂直制表符\u000B

\f

匹配换页符\u000C

\n

匹配换行符\u000A

\e

匹配退出键(符)\u001B

\040

匹配以八进制表示的ASCII字符(最多三位数);在没有前导零的情况下,如果只有一位数字或者相应数字与某个捕获组的编号对应,那就是反向引用(backreference)。

字符\040表示一个空格。

\x20

匹配以十六进制表示的ASCII字符(两位数)

\cC

匹配ASCII控制符,例如\cC匹配Ctrl+C

\u0020

匹配以十六进制表示的Unicode字符

\*

反斜杠后面如果不是一个可转义的字符,则匹配该字符本身。

例如,\*就相当于\x2A

字符类

说明

.

匹配除\n之外的任意字符。

[aeiou]

匹配特定字符集中包含的任意一个字符

[^aeiou]

匹配特定字符集中不包含的任意一个字符

[0-9a-fA-F]

连字符(-)用来指定连续的字符范围

\p{name}

匹配由{name}指定的命名字符类中的任意字符

\P{name}

匹配不包含在{name}指定的组或块范围中的文本

\w

匹配英文数字字母字符,在指定兼容ECMAScript的情况下,等价于[a-zA-Z0-9]

\W

匹配非英文数字字母字符,在指定兼容ECMAScript的情况下,等价于[^a-zA-Z0-9]

\s

匹配任意空白字符,在指定兼容ECMAScript的情况下,等价于[\f\n\r\t\v]

\S

匹配任意非空白字符,在指定兼容ECMAScript的情况下,等价于[^\f\n\r\t\v]

\d

匹配数字字符,在指定兼容ECMAScript的情况下,等价于[0-9]

\D

匹配非数字字符,在指定兼容ECMAScript的情况下,等价于[^0-9]

英文版:

MetacharactersDefined

MChar

Definition

^

Startofastring.

$

Endofastring.

.

Anycharacter(except\nnewline)

|

Alternation.

{...}

Explicitquantifiernotation.

[...]

Explicitsetofcharacterstomatch.

(...)

Logicalgroupingofpartofanexpression.

*

0ormoreofpreviousexpression.

+

1ormoreofpreviousexpression.

?

0or1ofpreviousexpression;alsoforcesminimalmatchingwhenanexpressionmightmatchseveralstringswithinasearchstring.

\

Precedingoneoftheabove,.Precedingaspecialmatchingcharacter,seebelow.

MetacharacterExamples

Pattern

SampleMatches

^abc

abc,abcdefg,abc123,...

abc$

abc,endsinabc,123abc,...

a.c

abc,aac,acc,adc,aec,...

bill|ted

ted,bill

ab{2}c

abbc

a[bB]c

abc,aBc

(abc){2}

abcabc

ab*c

ac,abc,abbc,abbbc,...

ab+c

abc,abbc,abbbc,...

ab?

c

ac,abc

a\sc

ac

CharacterEscapes

EscapedChar

Description

ordinarycharacters

Charactersotherthan.$^{[(|)]}*+?

\matchthemselves.

\a

Matchesabell(alarm)\u0007.

\b

Matchesabackspace\u0008ifina[];otherwisematchesawordboundary(between\wand\Wcharacters).

\t

Matchesatab\u0009.

\r

Matchesacarriagereturn\u000D.

\v

Matchesaverticaltab\u000B.

\f

Matchesaformfeed\u000C.

\n

Matchesanewline\u000A.

\e

Matchesanescape\u001B.

\040

MatchesanASCIIcharacterasoctal(uptothreedigits);.(Formoreinformation,seeBackreferences.)Forexample,thecharacter\040representsaspace.

\x20

MatchesanASCIIcharacterusinghexadecimalrepresentation(exactlytwodigits).

\cC

MatchesanASCIIcontrolcharacter;forexample\cCiscontrol-C.

\u0020

MatchesaUnicodecharacterusingahexadecimalrepresentation(exactlyfourdigits).

\*

Whenfollowedbyacharacterthatisnotrecognizedasanescapedcharacter,matchesthatcharacter.Forexample,\*isthesameas\x2A.

CharacterClasses

CharClass

Description

.

Matchesanycharacterexcept\n.IfmodifiedbytheSinglelineoption,aperiodcharactermatchesanycharacter.Formoreinformation,seeRegularExpressionOptions.

[aeiou]

Matchesanysinglecharacterincludedinthespecifiedsetofcharacters.

[^aeiou]

Matchesanysinglecharacternotinthespecifiedsetofcharacters.

[0-9a-fA-F]

Useofahyphen(–)allowsspecificationofcontiguouscharacterranges.

\p{name}

Matchesanycharacterinthenamedcharacterclassspecifiedby{name}.SupportednamesareUnicodegroupsandblockranges.Forexample,Ll,Nd,Z,IsGreek,IsBoxDrawing.

\P{name}

Matchestextnotincludedingroupsandblockrangesspecifiedin{name}.

\w

Matchesanywordcharacter.EquivalenttotheUnicodecharactercategories[\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}].IfECMAScript-compliantbehaviorisspecifiedwiththeECMAScriptoption,\wisequivalentto[a-zA-Z_0-9].

\W

Matchesanynonwordcharacter.EquivalenttotheUnicodecategories[^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}].IfECMAScript-compliantbehaviorisspecifiedwiththeECMAScriptoption,\Wisequivalentto[^a-zA-Z_0-9].

\s

Matchesanywhite-spacecharacter.EquivalenttotheUnicodecharactercategories[\f\n\r\t\v\x85\p{Z}].IfECMAScript-compliantbehaviorisspecifiedwiththeECMAScriptoption,\sisequivalentto[\f\n\r\t\v].

\S

Matchesanynon-white-spacecharacter.EquivalenttotheUnicodecharactercategories[^\f\n\r\t\v\x85\p{Z}].IfECMAScript-compliantbehaviorisspecifiedwiththeECMAScriptoption,\Sisequivalentto[^\f\n\r\t\v].

\d

Matchesanydecimaldigi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1