Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3443|回复: 13

[已解决]正则表达式依次显示每次匹配值

[复制链接]
发表于 2009-12-15 22:35 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2012-11-27 11:30 编辑


Sub Test1()
    Dim a
    Dim RegEx As
   Object
    Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True
    RegEx.Pattern = "(d)(\w+?)"
    a = RegEx.Replace("dxxxdxxxd", "")
    MsgBox a
    Set RegEx = Nothing
End
   Sub

还是它。这里一共发生过两次匹配。请问怎样依次显示每1次匹配的字符串。

即输出如下效果

依次显示每1次匹配的字符串

依次显示每1次匹配的字符串

谢谢!

PS:此代码无此要求的效果,请帮忙看,如何修改。解决这个,以后就好学习了[em04]

[此贴子已经被作者于2009-12-15 22:38:38编辑过]
最佳答案
2009-12-16 08:22

Sub Test1()
    Dim a, b, strB
    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True
    RegEx.Pattern = "(d)(\w+?)"
    Set a = RegEx.Execute("dxxxdaxxd")
    For Each b In a
        strB = strB & b & ","
    Next b
    strB = Left(strB, Len(strB) - 1)
    MsgBox strB
    Set RegEx = Nothing
End Sub

[此贴子已经被作者于2009-12-16 8:22:43编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2009-12-15 22:49 | 显示全部楼层
回复

使用道具 举报

发表于 2009-12-16 08:22 | 显示全部楼层    本楼为最佳答案   


Sub Test1()
    Dim a, b, strB
    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True
    RegEx.Pattern = "(d)(\w+?)"
    Set a = RegEx.Execute("dxxxdaxxd")
    For Each b In a
        strB = strB & b & ","
    Next b
    strB = Left(strB, Len(strB) - 1)
    MsgBox strB
    Set RegEx = Nothing
End Sub

[此贴子已经被作者于2009-12-16 8:22:43编辑过]
回复

使用道具 举报

 楼主| 发表于 2009-12-16 08:36 | 显示全部楼层

谢谢阿木!

这时我看到a是Variant/Object/IMatchColle,a是什么呀?

回复

使用道具 举报

发表于 2009-12-16 08:52 | 显示全部楼层

Execute方法执行后返回的一个对象
回复

使用道具 举报

发表于 2009-12-16 08:55 | 显示全部楼层

爱疯,你需要的是一个正则表达式的工具

回复

使用道具 举报

 楼主| 发表于 2009-12-16 09:50 | 显示全部楼层

QUOTE:
以下是引用amulee在2009-12-16 8:52:00的发言:
Execute方法执行后返回的一个对象

这个对象,是一维数组?

回复

使用道具 举报

 楼主| 发表于 2009-12-16 09:52 | 显示全部楼层

QUOTE:
以下是引用yuhe0008在2009-12-16 8:55:00的发言:

爱疯,你需要的是一个正则表达式的工具

不知怎么好,不过,只是找些最简单的先看[em04]
回复

使用道具 举报

发表于 2009-12-16 10:02 | 显示全部楼层

QUOTE:
以下是引用爱疯在2009-12-16 9:50:00的发言:

这个对象,是一维数组?

不是数组。你可以看下本地窗口呀。

回复

使用道具 举报

 楼主| 发表于 2009-12-16 10:07 | 显示全部楼层

QUOTE:
以下是引用amulee在2009-12-16 10:02:00的发言:

不是数组。你可以看下本地窗口呀。

对哦,忘了

去看了。。。

象字典(item),但不知道是啥,百度也没有,这是什么对象呀,有没有关于它的传说呀[em11]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 02:14 , Processed in 0.487505 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表