2 回答
TA贡献1833条经验 获得超4个赞
正确代码如下:
'═════代═══码═══开═══始═════
dim s
s = "Cuilu$Test$007"
function test(str)
if str = "Test" then
test = "True"
else
test = "False"
end if
end function
dim reg
set reg = new regExp
reg.Pattern = "\$(\w+)\$"
Set Matches=reg.Execute(s)
Set oMatch = Matches(0)
'这一个0表示第一个匹配项$test$,vbs中正则比较低级,不能直接识别括号
data=oMatch.SubMatches(0)
'这一个0表示括号的数据test
dim news
news = reg.replace(s,test(data))
msgbox news
'═════代═══码═══结═══束═════
注意这是vbs文件的写法,在asp中有一句话可能不是这样写(set reg = new regExp,你改回你的写法就是,我这样给你是方便你测试,建个vbs文件即可运行看到结果)
TA贡献1811条经验 获得超6个赞
Function test(matchStr, str, matchPos, sourceStr)
if str = "Test" then
test = "True"
else
test = "False"
End Function
news = reg.replace(s,getRef("test"))
--------------
如果有两个子匹配组,那么Function的参数就变成5个。
3个,参数就是6个,依次类推。
这里的str是第一个子匹配组。
添加回答
举报