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
匹配x 或y 。例如"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 }
m 和n 为非负的整数。匹配至少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
收藏
举报
TAG:
QTP正则表达式
QTP