2009-12-21 61 views
1

好了,这就是问题所在:VBScript中传统的ASP正则表达式VBScript运行时(0x800A01A8)

我收到的时候我试图运行下面的脚本

Dim rg 
Dim match 

Set rg = New RegExp 

rg.Pattern = "Mod Read Access" 
rg.Global = True 

roles = Session("Roles") 
Set match = rg.Test(roles) 

它闷死在此错误信息rg.Test(角色)点。

我怀疑我可能做错了什么,因为我通常不会在asp classic中编程。我究竟做错了什么?

+0

您是否收到与此相关的错误,还是仅仅挂起系统?我不记得在旧的VB/ASP中的RegExp对象,所以当你尝试访问它时,你可能会在运行时错过一个dll。只是我的猜测,因此,它不是作为答案... – 2009-12-21 23:48:45

回答

7

相反的:

设置匹配= rg.Test(角色)

尝试:

匹配= rg.Test(角色)

集用于对象分配。 Test方法返回的不是对象,因此使用Set调用它失败(运行时错误800a01a8是“Object required”)。

+0

就是这样。谢谢! :) – 2009-12-21 23:55:29

+0

+1:在我做之前在那里有一秒左右的时间;)哦,为了它的价值,正则表达式是矫枉过正的,使用InStr函数代替:http://www.w3schools.com/Vbscript/func_instr.asp – Juliet 2009-12-22 00:00:55

+0

感谢评论,朱丽叶。对于下一个类似的情况,我会记住InStr。 – 2009-12-22 18:15:31

0

无法找到RegularExpressionObject,那是您收到的错误代码。正则表达式与VBScript的cscript将导致内存泄漏。