关于正则表达式

sekfore 2004-08-20 11:03:25
请问一下当我在vbscript中使用正则表达式时如何查找除了某一个字符组合之外的其他字符?就是说我希望屏蔽一个字符串。比如有这个一个字符串:"<div>haha</div><div>hehe</div>"查找"<div>*</div>" 按照我的思路查找出来应该有"<div>haha</div>"和"<div>hehe</div>"两个匹配.但是我查找的时候只能查出:"<div>haha</div><div>hehe</div>"一个匹配。这个时候我想可能需要在"<div>"与"</div>"之间屏蔽掉"<div>"。现在问题来了。。我只知道怎么屏蔽一个字符集中的字符。。但是要把"<div>"连在一起屏蔽掉我就不知道该怎么办了。。请知道的朋友赐教~~
...全文
65 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
超级大笨狼 2004-09-07
<textarea id=textarea1>

请问一下当我在vbscript中使用正则表达式时如何查找除了某一个字符组合之外的其他字符?就是说我希望屏蔽一个字符串。比如有这个一个字符串:"<div>haha</div><div>hehe</div>"查找"<div>*</div>" 按照我的思路查找出来应该有"<div>haha</div>"和"<div>hehe</div>"两个匹配.但是我查找的时候只能查出:"<div>haha</div><div>hehe</div>"一个匹配。这个时候我想可能需要在"<div>"与"</div>"之间屏蔽掉"<div>"。现在问题来了。。我只知道怎么屏蔽一个字符集中的字符。。但是要把"<div>"连在一起屏蔽掉我就不知道该怎么办了。。请知道的朋友赐教~~

</textarea>

<script language="vbScript" >

alert(aaa(textarea1.value))


function aaa(x)
dim re,mmm,m,i
set re = new RegExp
re.Pattern = "<div>[^>]*<\/div>"
re.Global = true
re.IgnoreCase = true
set mmm = re.execute(x)
for each m in mmm
i = i + 1
aaa = aaa & i & "-》" & m & vbcrlf
next
set re =nothing
end function
</script>
回复
sekfore 2004-08-20
"<div><span>hehe</span></div><div>haha</div>" 这个字符串就匹配不了啊。。
回复
GageCSDN 2004-08-20
这样会好一点:
oExp.Pattern = "<div>([^<])*</div>"
回复
sekfore 2004-08-20
其实我的目的是要从一个表格中分解出行。。然后对每行再进行操作
回复
sekfore 2004-08-20
。。好像还是不行。。。唉。。
回复
sekfore 2004-08-20
可以解决了。。那里要写Msgbox A.value :) 谢谢。非常感谢。。我没有想到要把[^(</div>)]做成一个模式。。就没有弄最外面的括号..非常感谢。。看来劳动就是好。。这不我去把饭煮了你就帮我把问题解决了。。呵呵~~
回复
GageCSDN 2004-08-20
不好意思,上面这个还不行,另想办法中....
回复
GageCSDN 2004-08-20
Str = "<div>haha</div><div>hehe</div>"
Set oExp = New RegExp
oExp.Pattern = "<div>([^(</div>)])*</div>"
oExp.IgnoreCase = True
oExp.Global = True
Set L = oExp.Execute(Str)
For Each A In L
Msgbox A
Next
回复
sekfore 2004-08-20
难道没人愿意解惑吗?
回复
zhangzetao 2004-08-20
oExp.Pattern = "<div\s*[^<]*>.*</div>"
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-08-20 11:03
社区公告
暂无公告