第二、RegExp对象的Test方法:测试字符串是否符合匹配规则。
FunctionRTest(s, p) Setre =NewRegExp re.IgnoreCase =False '设置是否忽略大小写 re.Pattern = p RTest= re.Test(s) End Function |
一般我们在QTP中使用正则表达式来匹配字符串的话,会编写如上面那样的一个函数。使用方法如下:
s = “我的邮箱: test@163.com 。欢迎致电!"'用来匹配的字符串,也就是实际上我们要测试的内容
'检查测试字符串中是否包含数字
p = “\d+” ’测试是否包含数字的匹配规则
MsgBoxRTest(s, p)
'检查测试字符串是否全是由数字组成:
p = “^\d+$”
MsgBoxRTest(s, p)
'检查测试字符串是否有大写字母:
p = “[A-Z]+”
MsgBoxRTest(s, p)
第三、RegExp的Replace方法:把测试字符串中符合匹配规则的字符串替换为指定内容
FunctionStrReplace(s, p, r) Setre =NewRegExp re.IgnoreCase =True'设置忽略大小写 re.Global =True '设置必须匹配整个规则 re.Pattern = p StrReplace = re.Replace(s, r) End Function |
上面的就是一般情况下使用这个方法所需要编写的一个函数,下面的就是如何使用
‘以下是如何使用这个方法替换邮箱地址
s = "我的E-mail: Test@163.com 。欢迎致电!" p = "\w+@\w+\.(com|cn|net)" r = "E_Mail@sohu.net" s = StrReplace(s, p, r) MsgBox s '结果:我的E-mail: E_Mail@sohu.net 。欢迎致电! |
第四、Match的SubMatches属性:下一个匹配项的匹配内容
仔细看下面这段代码的含义...
inpStr = "我的E-mail: lucky@163.com 。欢迎致电!" Setmhs = re.Execute(inpStr) |