与RegExp对象有关的问题

sworddx 2005-12-10 11:31:27
编写了一个UBB编码函数,功能是将传入参数中的UBB代码转换成HTML代码。使用了一个RegExp对象。对于一般的项目,是这样写的,例如:

re.Pattern="\[color=(.+?)\](.+?)\[\/color\]"
strContent=re.Replace(strContent,"<font color=$1>$2</font>")

其中re为RegExp对象,strContent为传入参数,下同。
现在我要实现的是[vbcode]...[/vbcode]标签,经这个函数转换成HTML后[vbcode]...[/vbcode]标签中的内容进行语法高亮显示。高亮显示的函数已经写好了,头部是:
function vbcode(fString)
这时如果采用和上面类似的写法来解释这个标签,该怎么写?
换句话就是说,在这种情况下,如何在vbscript脚本中访问RegExp所存储的内容(这些内容在HTML中可以使用诸如$1,$2等方式访问)?
我参考了MSDN,但是至多只能写出这么个东西:
re.Pattern="\[vbcode\](.+?)\[\/vbcode\]"
set matches=re.execute("strContent")
re.Pattern="\[vbcode\](.+?)\[\/vbcode\]"
strContent=re.Replace(strContent,vbcode(matches.match.value))
……恕我愚昧……
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
for each match1 in mm '在数组中查看
document.write match1
document.write("<br>")
document.write match1.FirstIndex
document.write("<br>")
next

类似于这类的
sworddx 2005-12-11
  • 打赏
  • 举报
回复
liuxiaoyi,你能不能给出一个详细点的方案?
sworddx 2005-12-11
  • 打赏
  • 举报
回复
虽然说的还是非常含糊……至少稍微有点启发了。
改成了这样:
re.Pattern="\[vbcode\](.+?)\[\/vbcode\]"
set matches=re.execute(strContent)
dim sTmp
for each Match in Matches
stmp=trim(Match)
stmp=left(stmp,len(stmp)-9)
stmp=right(stmp,len(stmp)-8)
strContent=replace(strcontent,Match,vbcode(stmp))
next
已经成功实现。谢谢各位。
  • 打赏
  • 举报
回复
match对象,一样用的啊
xpzheng 2005-12-10
  • 打赏
  • 举报
回复
帮顶,学习。。。。。
sworddx 2005-12-10
  • 打赏
  • 举报
回复
没人答……难道大家都不用正规表达式?
sworddx 2005-12-10
  • 打赏
  • 举报
回复
“match对象,一样用的啊”
不明白……

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧