QTP正则表达式
2012-06-26 11:24:05   来源:   评论:0 点击:

呵呵,2012-6-26又学会用正则表达式了。。
QTP正则表达式

字符 描述
\ 将下一个字符标记为特殊字符或字面值。例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\\"与"\"匹配,"\("与"("匹配。
^ 匹配输入的开始位置。
$ 匹配输入的结尾。
* 匹配前一个字符零次或几次。例如,"zo*"可以匹配"z"、"zoo"。
+ 匹配前一个字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。
? 匹配前一个字符零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。
. 匹配换行符以外的任何字符。
(pattern) 与模式匹配并记住匹配。匹配的子字符串可以从作为结果的Matches集合中使用Item[0]...[n]取得。如果要匹配括号字符(和),可使用"\("或"\)"。
x|y 匹配xy。例如"z|wood"可匹配"z"或"wood"。"(z|w)oo"匹配"zoo"或"wood"。
{n} n为非负的整数。匹配恰好n次。例如,"o{2}"不能与"Bob中的"o"匹配,但是可以与"foooood"中的前两个o匹配。
{n,} n为非负的整数。匹配至少n次。例如,"o{2,}"不匹配"Bob"中的"o",但是匹配"foooood"中所有的o。"o{1,}"等价于"o+"。"o{0,}"等价于"o*"。
{n,m} mn为非负的整数。匹配至少n次,至多m次。例如,"o{1,3}"匹配"fooooood"中前三个o。"o{0,1}"等价于"o?"。
[xyz] 一个字符集。与括号中字符的其中之一匹配。例如,"[abc]"匹配"plain"中的"a"。
[^xyz] 一个否定的字符集。匹配不在此括号中的任何字符。例如,"[^abc]"可以匹配"plain"中的"p".
[a-z] 表示某个范围内的字符。与指定区间内的任何字符匹配。例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z] 否定的字符区间。与不在指定区间内的字符匹配。例如,"[m-z]"与不在"m"到"z"之间的任何字符匹配。
\b 与单词的边界匹配,即单词与空格之间的位置。例如,"er\b"与"never"中的"er"匹配,但是不匹配"verb"中的"er"。
\B 与非单词边界匹配。"ea*r\B"与"never early"中的"ear"匹配。
\d 与一个数字字符匹配。等价于[0-9]。
\D 与非数字的字符匹配。等价于[^0-9]。
\f 与分页符匹配。
\n 与换行符字符匹配。
\r 与回车字符匹配。
\s 与任何白字符匹配,包括空格、制表符、分页符等。等价于"[ \f\n\r\t\v]"。
\S 与任何非空白的字符匹配。等价于"[^ \f\n\r\t\v]"。
\t 与制表符匹配。
\v 与垂直制表符匹配。
\w 与任何单词字符匹配,包括下划线。等价于"[A-Za-z0-9_]"。
\W 与任何非单词字符匹配。等价于"[^A-Za-z0-9_]"。
\num 匹配num个,其中num为一个正整数。引用回到记住的匹配。例如,"(.)\1"匹配两个连续的相同的字符。
\n 匹配n,其中n是一个八进制换码值。八进制换码值必须是1, 2或3个数字长。例如,"\11"和"\011"都与一个制表符匹配。"\0011"等价于"\001"与"1"。八进制换码值不得超过256。否则,只有前两个字符被视为表达式的一部分。允许在正则表达式中使用ASCII码。
\xn 匹配n,其中n是一个十六进制的换码值。十六进制换码值必须恰好为两个数字长。例如,"\x41"匹配"A"。"\x041"等价于"\x04"和"1"。允许在正则表达式中使用ASCII码。



说明
把下面代码拷贝到QTP中运行(替换“正则表达式”和“原字符串”):

Function RegExpTest(patm,strng)
Dim regEx,retVal
Set regEX = New RegExp
regEx.Pattern=patm
regEx.IgnoreCase=False
retVal = regEx.Test(strng)
If retVal Then
RegExpTest = "匹配成功."
Else
RegExpTest = "匹配失败."
End If
End Function

MsgBox(RegExpTest("正则表达式","原字符串"))








了解和使用正则表达式
通过正则表达式,QuickTest可以使用不同的值来标识对象和文本字符串。您可以在以下操作中使用正则表达式
• 在对话框或编程描述中定义对象的属性值
• 参数化步骤
• 使用不同的值来创建检查点
例如,如果要创建日期文本字符串的文本检查点,可以使用正则表达式,但显示的日期随当前日期变化。如果将日期定义为正则表达式,则检查点检查捕获的文本字符串是否与期望的日期格式匹配,而不是检查准确的日期值。
正则表达式是指定复杂搜索短语的字符串。通过使用特殊字符,例如句点(.)、星号(*)、插字号(^)和方括号([ ]),您可以定义搜索条件。
注意:
您可以只将正则表达式应用于字符串类型的值。
正则表达式的任何特殊字符前面带有反斜杠(\)时,QuickTestVuser将搜索文字字符。

定义正则表达式
可以在编程描述中定义常量值、数据表参数值、环境参数值或属性值的正则表达式。有关定义属性值的详细信息,请参阅配置常量和参数值。
在“常量值选项”对话框或“参数选项”对话框的“值”框中输入字符串的正则表达式语法,可以定义正则表达式。选中“正则表达式”复选框,以指示QuickTest将该值作为正则表达式处理。
所有编程描述属性值都均自动作为正则表达式处理。有关编程描述的详细信息,请参阅使用编程描述。
注意:您可以只将正则表达式应用于字符串类型的值。
默认情况下,除了句点(.)、连字符(-)、星号(*)、插字号(^)、方括号([ ])、圆括号(())、货币符号($)、垂直线(|)、加号(+)、问号(?)和反斜杠(\)以外,QuickTest将正则表达式中的所有字符作为文字处理。当一个特殊字符前面带有反斜杠(\)时,QuickTest将其作为文字字符处理。
如果在“常量值选项”或“参数选项”对话框的“值”框中输入一个特殊字符,QuickTest会询问您是否要在每个特殊字符前面添加一个反斜杠(\)。如果单击“是”,则相应的特殊字符前面就会加上一个反斜杠(\),以指示QuickTest将该字符作为文字处理。如果单击“否”,QuickTest将该特殊字符作为正则表达式字符处理。
本节描述某些更常用的选项,可用于创建正则表达式
• 使用反斜杠字符( \ )
• 匹配任意单个字符( . )
• 匹配列表中的任意单个字符( [xy] )
• 匹配不在列表中的任意单个字符( [^xy] )
• 匹配某个范围内的任意单个字符( [x-y] )
• 特定字符的零次或多次匹配( * )
• 特定字符的一次或多次匹配( + )
• 特定字符的零次或一次匹配( ? )
• 对正则表达式进行分组( ( ) )
• 匹配几个正则表达式中的一个表达式( | )
• 在一行的开始进行匹配( ^ )
• 在一行的结尾进行匹配( $ )
• 匹配包括下划线在内的任一字母数字字符( \w )
• 匹配任意非字母数字字符( \W )
• 组合正则表达式操作符
补充2
正则表达式用法
正则表达式的概念

  什么是UBB代码?什么是正则表达式

  UBB代码是HTML的一个变种。一般情况下,UBB论坛不允许你使用HTML代码,而只能用UBB代码替代HTML代码。
  UBB代码是一套由流行的UBB标签组成了固定代码,代码有统一的格式。用户只要遵循代码规则就可以实现用户想要的功能。如:
  想要显示粗体的how are you字样,就应该输入how are you而不是输入<b>how are you</b>

  你也许会问:ASP是怎样把h

相关热词搜索:QTP 正则表达式

上一篇:QTP对webtable的双击问题
下一篇:DbUnit入门实战

分享到: 收藏
评论排行