以下是QTP用户手册关于正则表达式的内容
- 使用反斜杠字符 ( \ )
- 匹配任意单个字符 ( . )
- 匹配列表中的任意单个字符 ( [xy] )
- 匹配不在列表中的任意单个字符 ( [^xy] )
- 匹配某个范围内的任意单个字符 ( [x-y] )
- 特定字符的零次或多次匹配 ( * )
- 特定字符的一次或多次匹配 ( + )
- 特定字符的零次或一次匹配 ( ? )
- 对正则表达式进行分组 ( ( ) )
- 匹配几个正则表达式中的一个表达式 ( | )
- 在一行的开始进行匹配 ( ^ )
- 在一行的结尾进行匹配 ( $ )
- 匹配包括下划线在内的任一字母数字字符 ( \w )
- 匹配任意非字母数字字符 ( \W )
- \d Matches a digit character. Equivalent to [0-9]. 我们可以用\d来代替[0-9],不过仿佛[0-9]更加直观。
- \D Matches a non-digit character. Equivalent to [^0-9]. 有意思吧,大小写刚好就是相反的:)
- \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