RegExp对象提供简单的正则表达式支持功能。
RegExp对象的用法:
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches '' 建立变量。
Set regEx = New RegExp '' 建立正则表达式。
regEx.Pattern = patrn '' 设置模式。
regEx.IgnoreCase = True '' 设置是否区分字符大小写。
regEx.Global = True '' 设置全局可用性。
Set Matches = regEx.Execute(strng) '' 执行搜索。
For Each Match in Matches '' 遍历匹配集合。
RetStr = RetStr & "Match found at position "
RetStr = RetStr & Match.FirstIndex & ". Match Value is ''"
RetStr = RetStr & Match.Value & "''." & vbCRLF
Next
RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
RegExp 对象的属性
◎ Global属性
Global属性设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。
语法
object.Global [= True | False ]
object 参数总是 RegExp 对象。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 True。
Global 属性的用法(改变赋予 Global 属性的值并观察其效果):
Function RegExpTest(patrn, strng)
Dim regEx '' 建立变量。
Set regEx = New RegExp '' 建立规范表达式。
regEx.Pattern = patrn '' 设置模式。
regEx.IgnoreCase = True '' 设置是否区分字母的大小写。
regEx.Global = True '' 设置全程性质。
RegExpTest = regEx.Execute(strng) '' 执行搜索。
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
◎ IgnoreCase属性
IgnoreCase属性设置或返回一个Boolean值,指明模式搜索是否区分大小写。
语法
object.IgnoreCase [= True | False ]
object 参数总是一个 RegExp 对象。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 True。
IgnoreCase 属性的用法(改变赋予 IgnoreCase 属性的值以观察其效果):
Function RegExpTest(patrn, strng)
Dim regEx '' 建立变量。
Set regEx = New RegExp '' 建立正则表达式。
regEx.Pattern = patrn '' 设置模式。
regEx.IgnoreCase = True '' 设置是否区分大小写。
RegExpTest = regEx.Execute(strng) '' 执行搜索。
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
◎ Pattern属性
Pattern属性设置或返回被搜索的正则表达式模式。
语法
object.Pattern [= "searchstring"]
Pattern 属性的语法包含以下几个部分:
语法说明:
object 必需的。总是一个 RegExp 对象变量。
searchstring 可选的。被搜索的正则字符串表达式。它可能包含设置部分表格中的各种正则表达式字符。
设置
在书写正则表达式的模式时使用了特殊的字符和序列。下面描述了可以使用的字符和序列,并给出了实例。
\ 将下一个字符标记为特殊字符或字面值。例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\\"与"\"匹配对面,"\("与"("匹配。
^ 匹配输入的开始位置。
$ 匹配输入的结尾。