2009-12-21 65 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將導致內存泄漏。