网址例如是:http://www.somedomain.com/24-sale.htm
这项工作很好:
Response.Redirect _
Replace(
Request.ServerVariables("HTTP_REFERER"), _
"24" & "-sale.htm", _
"contact_confirm.htm" _
)
'if there the message is sent return 1 to flash
但是......在24号的位置,可以有1到999之间的任何数字 试着在“24”的地方放置正则表达式,如下所示:
Response.Redirect _
Replace( _
Request.ServerVariables("HTTP_REFERER"),
"^([0-9]{1,3})$" & "-sale.htm",
"contact_confirm.htm"
)
'if there the message is sent return 1 to flash
这不适用于......; - (
任何人都知道正确的语法吗? 花了几百个小时来搞清楚......
经过大量的试验和错误后,我最终得到了这个:
Dim refererStr:refererStr = Request.ServerVariables(“HTTP_REFERER”)
Dim regex:设置正则表达式=新的RegExp
RegEx.Pattern = RegEx.replace(“^([1-9] {1,3})$”,“”)
Dim redirectTo:redirectTo = Replace(“refererStr”),“ - sale.htm”,“contact_confirm.htm”)
Response.Redirect redirectTo)'如果有消息发送,则返回1到flash
但没有工作: - (
有人可以帮我吗?答案 0 :(得分:0)
VBScript的Replace
函数不接受正则表达式作为参数,必须使用RegExp
对象来执行正则表达式操作。
RegExp
(http://msdn.microsoft.com/en-us/library/ms974570.aspx)和此处(http://www.regular-expressions.info/vbscript.html)
你想要这样的东西:
Dim refererStr : refererStr = Request.ServerVariables("HTTP_REFERER")
Dim regex : Set regex = New RegExp
regex.Pattern = "^([1-9]{1,3})$"
Dim redirectTo : redirectTo = regex.Replace( refererStr, "-sale.html" )
Response.Redirect redirectTo