正则表达式,实现VB内的Split功能

gooore 2011-12-13 10:13:02
您好,我的字符串是一段不定长的,不规则的字符串,可能以不同的字符分割,如“-”,“:”等,

我希望可以通过让外部指定正则表达式,达到Split函数的功能,然后抽取指定的子串。

请问我该如何实现,
非常感谢
...全文
249 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2011-12-28
  • 打赏
  • 举报
回复
靠 贴个链接都可以得20分 太不公平啦
赵4老师 2011-12-15
  • 打赏
  • 举报
回复
正则表达式速查 正则表达式举例 正则表达式学习 (4页A4纸)
http://download.csdn.net/detail/zhao4zhong1/1808549
无·法 2011-12-13
  • 打赏
  • 举报
回复
'此代码由“正则测试工具 v1.1.35”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object

strData = "a-bcd-4324-f23"

Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = False
reg.MultiLine = True
reg.Pattern = "(.+?)(?:-|\b)"
Set matchs = reg.Execute(strData)
For Each match In matchs
'Debug.Print match.Value
Debug.Print match.SubMatches(0)
Next
End Sub
无·法 2011-12-13
  • 打赏
  • 举报
回复
为什么要正则呢,用split不是很简单吗
无·法 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gooore 的回复:]

谢谢。我并不需要得非常具体,大致的关系即可,
为什么需要括号分为两个部分。
(.+?)(?:-|\b)中的|\b是什么意思呢?
谢谢





引用 4 楼 sysdzw 的回复:
引用 3 楼 gooore 的回复:

太感谢了,可以帮忙指导一下这个正则表达式的具体匹配关系吗?

我查了一些,但是不能明白,尤其对于加了括号就不理解了。

非常感谢
太多内容了,……
[/Quote]c语言中的||知道吧 表示or 这里的|表示或者 两边的都可以 \b表示词边界,你可以用(.+?)-去测试,会发现最后一个匹配不了的。
贝隆 2011-12-13
  • 打赏
  • 举报
回复
呵呵,对正则不熟悉,看来我的学习一下正则了。。。
gooore 2011-12-13
  • 打赏
  • 举报
回复
谢谢。我并不需要得非常具体,大致的关系即可,
为什么需要括号分为两个部分。
(.+?)(?:-|\b)中的|\b是什么意思呢?
谢谢





[Quote=引用 4 楼 sysdzw 的回复:]
引用 3 楼 gooore 的回复:

太感谢了,可以帮忙指导一下这个正则表达式的具体匹配关系吗?

我查了一些,但是不能明白,尤其对于加了括号就不理解了。

非常感谢
太多内容了,自己看书吧
[/Quote]
无·法 2011-12-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gooore 的回复:]

太感谢了,可以帮忙指导一下这个正则表达式的具体匹配关系吗?

我查了一些,但是不能明白,尤其对于加了括号就不理解了。

非常感谢
[/Quote]太多内容了,自己看书吧
gooore 2011-12-13
  • 打赏
  • 举报
回复
太感谢了,可以帮忙指导一下这个正则表达式的具体匹配关系吗?

我查了一些,但是不能明白,尤其对于加了括号就不理解了。

非常感谢

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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