• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 14次 | 进入软件测试论坛讨论

领测软件测试网

   
  ‘ 在 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),"")

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)

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网