QTP正则表达式

2010-04-28  吕施娟 

以下是QTP用户手册关于正则表达式的内容

  • 使用反斜杠字符 ( \ )
  • 匹配任意单个字符 ( . )
  • 匹配列表中的任意单个字符 ( [xy] )
  • 匹配不在列表中的任意单个字符 ( [^xy] )
  • 匹配某个范围内的任意单个字符 ( [x-y] )
  • 特定字符的零次或多次匹配 ( * )
  • 特定字符的一次或多次匹配 ( + )
  • 特定字符的零次或一次匹配 ( ? )
  • 对正则表达式进行分组 ( ( ) )
  • 匹配几个正则表达式中的一个表达式 ( | )
  • 在一行的开始进行匹配 ( ^ )
  • 在一行的结尾进行匹配 ( $ )
  • 匹配包括下划线在内的任一字母数字字符 ( \w )
  • 匹配任意非字母数字字符 ( \W )

  1. \d Matches a digit character. Equivalent to [0-9].   我们可以用\d来代替[0-9],不过仿佛[0-9]更加直观。
  2. \D Matches a non-digit character. Equivalent to [^0-9]. 有意思吧,大小写刚好就是相反的:)
  3. \n Matches a newline character. 呵呵,是不是想起了C语言

1.如何使用正则表达式

首先生成正则表达式对象

Set regEx = New RegExp

然后设置正则表达式对象的属性

regEx.Pattern = patrn

regEx.IgnoreCase = True

regEx.Global = True

最后使用正则表达式的方法来实现需求

regEx.Replace(string1, string2)

regEx.Test(string)

regEx.Execute(string)

2.正则表达式对象的属性与方法:

属性:

Global Property

IgnoreCase Property

Pattern Property

方法:

Execute

Preplace

Test

3.实例:简单的字母搜索,test方法

'定义变量及初始化

Dim a,b,c

a="mooooon"

b="mo*n"

'正则表达式以及执行搜索

Set myReg= New RegExp '生成正则表达式对象

myReg.Pattern =b             '设置正则表达式公式(必须有本语句)

myReg.IgnoreCase = True '表示匹配时忽略大小写(非必须语句)

myReg.Global = True '非必须语句

c=myReg.test(a) '执行搜索,如果在a中搜到a,则返回true,否则faulse。

'报告执行结果

If c Then

Reporter.ReportEvent 2, "测试结果", "a中包括b"

else

Reporter.ReportEvent 1, "测试结果", "a中不包括 b"

End If

545°/5451 人阅读/0 条评论 发表评论

登录 后发表评论