Clear 方法
应用于:Err 对象 要求 版本 1 清除 Err 对象的所有属性设置。
object.Clear object 应为 Err 对象的名称。
说明 在错误处理后,使用 Clear 显式地清除 Err 对象。此操作是必须的,例如使用 On Error Resume Next 延迟错误处理时。在任何时候执行下列语句,VBScript 自动调用 Clear 方法:
On Error Resume Next Exit Sub Exit Function 下面例子举例说明如何使用 Clear 方法。
’发生错误继续下一步 Err.Raise 6 '发生溢出错误。 MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' 清除错误。 来自aspxuexi.com
Execute 方法
应用于:RegExp 对象 要求 版本 5 对指定的字符串执行正则表达式搜索。
object.Execute(string) 参数 object 必选项。总是一个 RegExp 对象的名称。 string 必选项。要在其上执行正则表达式的文本字符串。 说明 正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。
Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。
下面的代码说明了 Execute 方法的用法。
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 ' 对 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"))
Raise 方法
应用于:Err 对象 要求 版本 1 生成运行时错误。
object.Raise(number, source, description, helpfile, helpcontext) 参数 object 应为 Err 对象。 Number Long 整数子类型,标识错误性质。VBScript 错误(有 VBScript 定义和用户定义两种错误)的范围在 0-65535 之间。 Source 命名最初产生错误的对象或应用程序的字符串表达式。当为 Automation 对象设置此属性时,请使用窗体 project.class。如未作任何指定,则使用当前 VBScript 项目的程序设计 ID。 Description 描述错误的字符串表达式。如未指定,则检查 number 的值。如可将其映射为 VBScript 运行时错误代码,则将 VBScript 提供的字符串作为 description 使用。如没有与 number 对应的 VBScript 错误,则使用通用错误信息。 Helpfile Help 文件的完整合法的路径,在该 Help 文件中可找到此错误的帮助信息。如未指定,则 VBScript 将使用 VBScript Help 文件的完整合法的驱动器、路径和文件名。 Helpcontext 上下文 ID,标识 helpfile 中提供错误帮助的主题。如果省略,则使用与 number 属性对应的错误的 VBScript Help 文件上下文 ID(如果存在)。 说明 除了 number 以外的所有参数都是可选项的。如果使用 Raise,而不指定某些参数,且 Err 对象的属性设置含有未清除的值,则这些值将成为错误的值。
在 Automation 对象中设置错误代码的 number 属性时,请向常数 vbObjectError 添加错误代码编号。例如,要生成错误号 1050,可将 number 属性赋值为 vbObjectError + 1050 。
下面例子举例说明如何使用 Raise 方法: 来自aspxuexi.com
On Error Resume Next Err.Raise 6 '产生溢出错误。 MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear '清除错误。
Replace 方法
应用于:RegExp 对象 替换在正则表达式查找中找到的文本。
object.Replace(string1, string2) 参数 object 必选项。总是一个 RegExp 对象的名称。 string1 必选项。string1 是将要进行文本替换的字符串。 string2 必选项。string2 是替换文本字符串。 说明 被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的。
Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已经被替换为 string2。如果没有找到匹配的文本,将返回原来的 string1 的副本。
下面的例子说明了 Replace 方法的用法。
Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' 建立变量。 str1 = "The quick brown fox jumped over the lazy dog." Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = patrn ' 设置模式。 regEx.IgnoreCase = True ' 设置是否区分大小写。 ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。 End Function
MsgBox(ReplaceTest("fox", "cat")) ' 将 'fox' 替换为 'cat'。 ;另外,Replace 方法在模式中替换 subexpressions 。下面对以前示例中函数的调用,替换了原字符串中的所有字对:
MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1")) ' 交换词对.
Test 方法
应用于:RegExp 对象 对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。
object.Test(string) 参数 object 必选项。总是一个 RegExp 对象的名称。 string 必选项。要执行正则表达式搜索的文本字符串。 说明 正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。
如果找到了匹配的模式,Test方法返回True;否则返回False。
下面的代码说明了Test 方法的用法。
Function RegExpTest(patrn, strng) Dim regEx, retVal ' 建立变量。 Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = patrn ' 设置模式。 regEx.IgnoreCase = False ' 设置是否区分大小写。 retVal = regEx.Test(strng) ' 执行搜索测试。 If retVal Then RegExpTest = "找到一个或多个匹配。" Else RegExpTest = "未找到匹配。" End If End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
|