动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

 在VBSript中使用regular expression取得子字串

作者来源: 
阅读 2687 人次 , 2000-5-10 

' 在 VBScript 5 中新增了 regular expression 功能,
' 但看了微軟的「VBScript 程式語言參考」後確一頭霧水,
' 而且不同的 Build 版本還有不同的結果, 真是 #%^&!@%&!....。
' 小弟提供一下範例, 希望對你使用 RegExp 有所幫助,
' 將此文件儲存成 .vbs 檔可直接執行, 看看結果。
'

MsgBox "版本: VBScript "&ScriptEngineMajorVersion&" Build:"& ScriptEngineBuildVersion

' 如果你的 VBScript 版本低於 5, 執行下列程式會發生錯誤

Dim s, re, matches, match
s = "日本時間 11:34:56 , 台北時間 12:34:56。"
Set re = New RegExp

' 指定 Email 的 pattern
re.Pattern = "(\d+):(\d+):(\d+)"
re.Global = True
Set matches = re.Execute(s)

' Build 號碼 4615 之前的版本可使用下面三範例取得符合的值


'範例一: 顯示最後找到的字串
MsgBox "範例一:" & matches.item(matches.count-1)

'範例二: 把全部找到的字串列出來
For Each matche In matches
   MsgBox "範例二:" & matche.value
Next

'範例三:
'但()內的子字串在 Build 4615 無法直接取得, 需要靠一些技巧
'例如取得第一個字串的第三個子字串:
MsgBox "範例三:" & re.Replace(matches.item(0),"$3")

Set match = Nothing



' Build 號碼 5014 之後的版本可使用下面三範例取得符合的值
'但在此 build 之前的版本會發生錯誤
'可到微軟網站下載最新的 Windows Script 5.5 Beta 2 (目前)


'範例四: 顯示首先找到的字串
Set match = matches(0)
MsgBox "範例四:" & match

'範例五: 子字串的數量
MsgBox "範例五:" & match.SubMatches.Count

'範例六: 顯示第一個子字串
MsgBox "範例六:" & match.SubMatches(0)  
 本文Tags组网  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:ASP的几大可扩展组件(一)
· 下一篇:提高IIS 5.0执行效率
· 利用XMLHTTP无刷新添加数据之Post篇
· ASP讲座之一:网页开发利器:高效易学的ASP
· ASP 3.0高级编程(二十九)
· 微软建议的ASP性能优化28条守则
· 如何正确显示数据库中的图片


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077