QTP VBScript RegExp对象的运用

简介:

 下面来讲讲RegExp对象:

Vbs提供了针对正则表达式的一个非常实用的类,就是RegExp
Global属性:代表全局匹配
IgnoreCase属性:大小写忽略
Pattern属性:正则表达式
Execute方法:匹配搜索,返回匹配结果集合
Replace方法:匹配代替,返回替代匹配结果
Test方法:测试匹配,返回布尔类型

  下面举几个实例:

'判断正则匹配是否正确
'msgbox (IsRegMatch("a123","http://www.123.456.com"))
Function IsRegMatch(patrn,str)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = False
IsRegMatch = regEx.Test(str)
Set regEx = nothing
End Function
'替换匹配字符串
'msgbox (ReplaceRegMatch("9","loader runner 9.0, qtp 9.0","10"))
Function ReplaceRegMatch(patrn,str,replaceStr)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = False
regEx.Global = True   'false的时候只会替换第一个匹配的字符串。若为true则会替换所有匹配的字符串
ReplaceRegMatch = regEx.Replace(str,replaceStr)
End Function
'返回匹配内容
'returnRegMatch "qtp .","qtp 1 qtp 2 qtp3 qtp 4"
Function ReturnRegMatch(patrn,str)
Dim regEx,matches,match
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = true
regEx.Global = true  '打开全局搜索
Set matches = regEx.Execute(str)
For Each match in matches
print cstr(match.firstIndex) + " " + match.value + " " + cstr(match.length)
Next
End Function

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
2月前
|
JavaScript 前端开发
JavaScript RegExp 对象
JavaScript RegExp 对象
22 3
|
3月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
7月前
|
监控 Shell Linux
多行重定向,expect,字符串处理,高级变量,脚本工具
多行重定向,expect,字符串处理,高级变量,脚本工具
|
存储 数据采集 前端开发
细说JavaScript正则表达式(RegExp)
搜索、匹配和聚合是日常网络活动的重要组成部分,例如,当浏览或搜索某些关键字时,会进行大量搜索。为了使 搜索/匹配 高效和精确,像 VsCode 和 Sublime 这样的流行编辑器都是使用正则表达式来支持搜索和替换。因此,在使用这些编辑器的时候,当按下 CTRL + F 组合键时,就可以搜索和匹配选择的文本。
165 0
|
JavaScript 前端开发 网络协议
【专题】常用JavaScript正则表达式(regexp)汇编与示例
目前收集整理了21个常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IP地址、 十六进制颜色、 日期、 微信号、车牌号、中文正则等。表单验证处理必备,赶紧收藏吧!
1586 0
|
JavaScript 前端开发 程序员
好程序员分享使用JavaScript正则表达式如何去掉双引号
  好程序员分享使用JavaScript正则表达式如何去掉双引号最近接了一个项目,项目需求需要用js正则表达式过滤掉页面文本域中值得双引号,其实解决办法很简单,下面把我写的代码分享给大家,有同样需求的朋友可以参考下。   具体的解决代码如下:
2803 0