首页 测试 工具 查看内容

QTP脚本中使用正则表达式,匹配字符串方法

2014-9-4 00:58| 发布者: | 查看: 276| 评论: 0

摘要:   第一、首先正则表达式使用如下对象。   1、RegExp 这是使用正则表达式匹配模式的主要对象了   属性:   Pattern:一个字符串,用来定义正则表达式匹配规则。   IgnoreCase:如果True,则忽略英文字母大 ...
FunctionRTest(s, p)
    Setre =NewRegExp
     re.IgnoreCase =False \'设置是否忽略大小写
     re.Pattern = p
     RTest= re.Test(s)
End Function

  一般我们在QTP中使用正则表达式来匹配字符串的话,会编写如上面那样的一个函数。使用方法如下:

  s = “我的邮箱: [email protected] 。欢迎致电!\"\'用来匹配的字符串,也就是实际上我们要测试的内容

  \'检查测试字符串中是否包含数字

  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: [email protected] 。欢迎致电!\"
     p = \"w+@w+.(com|cn|net)\"
     r = \"[email protected]\"
     s = StrReplace(s, p, r)
    MsgBox s
    \'结果:我的E-mail: [email protected] 。欢迎致电!

  第四、Match的SubMatches属性:下一个匹配项的匹配内容

  仔细看下面这段代码的含义...

    inpStr = \"我的E-mail: [email protected] 。欢迎致电!\"
    Setre =NewRegExp
    re.Pattern = \"(w+)@(w+).(w+)\" \'注意!这个匹配规则有3个(),一个()代表一个匹配项

    Setmhs = re.Execute(inpStr)
    Setmh = mhs(0)            \'根据上面的匹配规则可以计算出只有一个匹配结果
   
    MsgBox \"电子邮件地址是:\"&mh.Value      \'这里是匹配的内容
    MsgBox \"用户名是:\"&mh.SubMatches(0)  \'第一个括号<匹配项>中的内容
    MsgBox \"邮箱是:\"&mh.SubMatches(1)  \'第二个括号<匹配项>中的内容
    MsgBox \"域名是:\"&mh.SubMatches(2)  \'第三个括号<匹配项>中的内容

  第一、首先正则表达式使用如下对象。

  1、RegExp 这是使用正则表达式匹配模式的主要对象了

  属性:

  Pattern:一个字符串,用来定义正则表达式<匹配规则>。

  IgnoreCase:如果True,则忽略英文字母大小的匹配,False对大小写进行匹配。

  Global:设置True则必须匹配整个<匹配规则>,设置False只匹配第一个<匹配规则>。

  MultiLine:设置True则在多行中搜索。设置False则在换行时停止。

  方法:

  Execute:返回一个MatchCollection对象,该对象包含每个成功匹配的Match对象。

  Replace:返回一个将符合<匹配规则>的字符串替换为指定字符串。

  Test:返回一个布尔值,该值指示正则表达式是否与字符串成功匹配。

  2、MatchCollection 是集合对象,该对象包含每个成功匹配的Match对象。

  属性:

  Count:匹配对象的总数。

  Item:匹配对象的索引。

  3、Match 是成功匹配的对象。

  属性:

  FirstIndex:匹配对象所匹配字符串的起始位置。

  Length:匹配对象所匹配字符串的字符长度。

  SubMatches:匹配对象所匹配结果的子项。也就是<匹配规则>中下一个匹配项“一般一个()代表一个匹配项”

  Value:匹配对象所匹配的值。

  第二、RegExp对象的Test方法:测试字符串是否符合匹配规则。


鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部