|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
正在学习本帖。
顺便扩充一下15楼的第二段代码,以方便正在学习正则的会员理解match对象:
Sub test9SubMatchesTest()
MsgBox (SubMatchTest("请写信到 dragon@xyzzy.com 。 或者到 abcde@12306.com 谢谢!"))
End Sub
Function SubMatchTest(inpStr)
Dim oRe, oMatch, oMatch2, oMatches
Set oRe = CreateObject("vbscript.regexp")
' 查找一个电子邮件地址
oRe.Pattern = "(\w+)@(\w+)\.(\w+)"
oRe.Global = True
' 得到 Matches 集合
Set oMatches = oRe.Execute(inpStr)
' 得到 Matches 集合中的第一项
Set oMatch = oMatches(0)
' 创建结果字符串。
' Match 对象是完整匹配 — dragon@xyzzy.com
retStr = inpStr & Chr(10) & "电子邮件地址是: " & oMatch & vbNewLine
' 得到地址的子匹配部分。
retStr = retStr & "电子邮件别名是: " & oMatch.SubMatches(0) ' dragon
retStr = retStr & vbNewLine
retStr = retStr & "组织是: " & oMatch.SubMatches(1) & vbNewLine ' xyzzy
retStr = retStr & "后缀是: " & oMatch.SubMatches(2) & vbNewLine
Set oMatch2 = oMatches(1)
retStr = retStr & Chr(10) & "电子邮件地址2是: " & oMatch2 & vbNewLine
retStr = retStr & "电子邮件别名2是: " & oMatch2.SubMatches(0) & vbNewLine
retStr = retStr & "组织2是: " & oMatch2.SubMatches(1) & vbNewLine
retStr = retStr & "后缀2是: " & oMatch2.SubMatches(2) & vbNewLine
SubMatchTest = retStr
End Function
|
评分
-
1
查看全部评分
-
|