简单的正则表达式替换可视脚本

时间:2011-03-25 11:23:32

标签: vbscript

我有以下代码

<% 
txt = ""+(rs_email.Fields.Item("g_email_body").Value)+""
Set objReg = CreateObject("vbscript.regexp")
objReg.Pattern = "[activate]"
activate = (objReg.Replace(txt,"http://www.gamtool.com/activate.asp?id="+(Recordset1.Fields.Item("g_userbase_id").Value)+""))
%>

当我运行代码时,我在最后一行收到错误

activate = (objReg.Replace(txt,"http://www.gamtool.com/activate.asp?id="+(Recordset1.Fields.Item("g_userbase_id").Value)+""))
    %>

为什么我收到错误的任何想法?

我已将上述代码更新为以下内容:

<%
  Set regEx = New RegExp
  regEx.Global = true
  regEx.IgnoreCase = True
  regEx.Pattern = "\[activate\]"
  strText = ""+(rs_email.Fields.Item("g_email_body").Value)+""
  activate = regEx.Replace(strText, ""+(Recordset1.Fields.Item("g_userbase_id").Value)+"")
%>

如果我将“”+(Recordset1.Fields.Item(“g_userbase_id”)。值)+“”更改为任何值,但插入静态值则会起作用。

由于

1 个答案:

答案 0 :(得分:1)

@Gerald Ferreira:不使用+,而是使用&进行连接。您收到类型不匹配错误,因为VB脚本认为您正在尝试添加,这当然与连接不一样。