二、正则表达式在VBScript中的应用 VBScript使用RegExp对象、Matches集合以及Match对象提供正则表达式支持功能。我们还是先看一个例子。 <% 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 & "'." & "<BR>" Next RegExpTest = RetStr End Function response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4") %> 在这个例子中,我们查找字符串中有无is或者js这两个词,忽略大小写。运行的结果如下: Match found at position 0. Match Value is 'IS1'. Match found at position 4. Match Value is 'Js2'. Match found at position 8. Match Value is 'IS3'. Match found at position 12. Match Value is 'is4'. 下面我们就介绍这三个对象和集合。 1、RegExp对象 是最重要的一个对象,它有几个属性,其中: ○Global 属性,设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 False。 ○IgnoreCase 属性,设置或返回一个Boolean值,指明模式搜索是否区分大小写。如果搜索是区分大小写的,则IgnoreCase 属性为 False;否则为 True。缺省值为 False。 ○Pattern 属性,设置或返回被搜索的正则表达式模式。必选项。总是一个 RegExp 对象变量。 2、Match 对象 匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问。 Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。所有的 Match 对象属性都是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。 ○FirstIndex 属性,返回在搜索字符串中匹配的位置。FirstIndex 属性使用从零起算的偏移量,该偏移量是相对于 搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符 0 ○Length 属性,返回在字符串搜索中找到的匹配的长度。 ○Value 属性,返回在一个搜索字符串中找到的匹配的值或文本。 3、Matches 集合