木子屋 Dnawo's BLOG

SubMatches 集合

👤 dnawo 📅 2007-01-23 👁 4973 👍 0 💬 0 🔄 本站原创
SubMatches 集合包含了单个的子匹配字符串,只能用 RegExp 对象的 Execute 方法创建。SubMatches 集合的属性是只读的。

运行一个正则表达式时,当圆括号中捕捉到子表达式时可以有零个或多个子匹配。SubMatches 集合中的每一项是由正则表达式找到并捕获的的字符串。

下面的代码演示了如何从一个正则表达式获得一个 SubMatches 集合以及如何它的专有成员:
HTML
<script language="vbscript">
Function SubMatchTest(inpStr)
  Dim ore, oMatch, oMatches
  Set ore = New RegExp
  ' 查找一个电子邮件地址(不是一个理想的 RegExp)
  ore.Pattern = "(\w+)@(\w+)\.(\w+)"
  ' 得到 Matches 集合
  Set oMatches = ore.Execute(inpStr)
  ' 得到 Matches 集合中的第一项
  Set oMatch = oMatches(0)
  ' 创建结果字符串。
  ' Match 对象是完整匹配 — webmaster@mzwu.com
  retStr = "电子邮件地址是: " & oMatch & vbNewline
  ' 得到地址的子匹配部分。
  retStr = retStr & "电子邮件别名是: " & oMatch.SubMatches(0)  ' dragon
  retStr = retStr & vbNewline
  retStr = retStr & "组织是: " & oMatch. SubMatches(1)' xyzzy
  SubMatchTest = retStr
End Function
MsgBox(SubMatchTest("请写信到 webmaster@mzwu.com 。 谢谢!"))
</script>

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 UBB中正则表达式不当导致系统Bug 下一篇 → IIS下中文名的文件无法下载问题的解决方案