QTP正则表达式

上一篇 / 下一篇  2008-09-26 17:41:11 / 个人分类:QTP

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, 23个数字长。例如,"\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

TAG: QTP正则表达式 QTP

 

评分:0

我来说两句

日历

« 2024-05-09  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 31415
  • 日志数: 32
  • 建立时间: 2008-05-16
  • 更新时间: 2009-03-18

RSS订阅

Open Toolbar