Regex VBScript正则表达式问题(.*)

Regex VBScript正则表达式问题(.*),regex,vbscript,qtp,Regex,Vbscript,Qtp,我在QTP中使用VBscript,我有点困惑: Browser("name:=.*") //works 为什么浏览器(“name:=*”不工作?为什么有一个字符 谢谢大家! 虽然普通通配符(例如shell中用于一次指定多个文件的通配符,例如*.txt)仅使用askterisk(*)作为零个或多个任意字符的符号,但在正则表达式中它是一个符号。它告诉正则表达式引擎一些关于前面标记的信息。A匹配单个任意字符,点后跟星号,因此匹配零个或多个任意字符 但是,一个=后跟一个*将匹配0个或多个等号(=)-因

我在QTP中使用VBscript,我有点困惑:

Browser("name:=.*") //works
为什么
浏览器(“name:=*”
不工作?为什么有一个
字符

谢谢大家!

虽然普通通配符(例如shell中用于一次指定多个文件的通配符,例如
*.txt
)仅使用askterisk(
*
)作为零个或多个任意字符的符号,但在正则表达式中它是一个符号。它告诉正则表达式引擎一些关于前面标记的信息。A匹配单个任意字符,点后跟星号,因此匹配零个或多个任意字符

但是,一个
=
后跟一个
*
将匹配0个或多个等号(
=
)-因为星号始终作用于前面的标记,而这正是此处的等号

注意:一个标记可以是很多东西,一个字符,如
=
,一个字符类,如
\w
[A-z]
,一个组,如
(abc)
,它将匹配任何字符串,如
abcabc
,&c。这使得您可以定义比普通的旧通配符更丰富的表达式类型

一般来说,通配符和正则表达式之间的以下等价关系大约成立;有些细节可能不太明显:

Wildcard        Regex
--------        -----
*               .*
?               .
[a-z]           [a-z]

*
表示:匹配一个表达式,其中
*
左侧的字符出现0次或更多次<代码>表示“匹配任何字符”。所以
*
意味着:匹配任何字符0次或更多次。在第二个表达式中,*前面有一个等号,因此它的意思是:匹配0个或多个等号。

只不过是QTP帮助页面的副本

在正则表达式的编写模式中使用特殊字符和序列。下表描述并给出了可使用的字符和序列的示例

字符描述

\将下一个字符标记为特殊字符或文字。例如,“n”与字符“n”匹配。“\n”与换行符匹配。序列“\”匹配“\”和”(“匹配”()

^匹配输入的开头

$匹配输入的结尾

*与前面的字符零次或多次匹配。例如,“zo*”与“z”或“zoo”匹配

+匹配前面的字符一次或多次。例如,“zo+”匹配“zoo”,但不匹配“z”

?与前面的字符零次或一次匹配。例如,“a?ve?”与“从不”中的“ve”匹配

.匹配除换行符以外的任何单个字符

(pattern)匹配pattern并记住匹配项。可以使用项[0]…[n]从结果Matches集合中检索匹配的子字符串。若要匹配括号字符(),请使用“(”或“)”

x | y匹配x或y。例如,“z | wood”匹配“z”或“wood”。(z | w)oo“匹配“zoo”或“wood”

{n} n是非负整数。正好匹配n次。例如,“o{2}”与“Bob”中的“o”不匹配,但与“fooood”中的前两个o匹配

{n,}n是一个非负整数。至少匹配n次。例如,“o{2,}”不匹配“Bob”中的“o”,而是匹配“fooood”中的所有o。“o{1,}”相当于“o+”。“o{0,}”相当于“o*”

{n,m}m和n是非负整数。至少匹配n次,最多匹配m次。例如,“o{1,3}”匹配“foooood”中的前三个o。“o{0,1}”相当于“o?”

[xyz]字符集。匹配任何一个封闭字符。例如,“[abc]”匹配“普通”中的“A”

[^xyz]一个负数字符集。匹配任何未包含在内的字符。例如,“[^abc]”匹配“普通”中的“p”

[a-z]字符范围。匹配指定范围内的任何字符。例如,“[a-z]”匹配“a”到“z”范围内的任何小写字母字符

[^m-z]一个负范围字符。匹配不在指定范围内的任何字符。例如,“[m-z]”匹配不在“m”到“z”范围内的任何字符

\b匹配单词边界,即单词和空格之间的位置。例如,“er\b”匹配“从不”中的“er”,但不匹配“动词”中的“er”

\B匹配非单词边界。“ea*r\B”匹配“从不早”中的“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_3;]”

\num匹配num,其中num是一个正整数。返回到记住的匹配的引用。例如,“()\1”匹配两个连续的相同字符

\n匹配n,其中n是八进制转义值。八进制转义值必须为1、2或3位。例如,“\11”和“\011”都匹配制表符。“\0011”相当于“\001”和“1”.八进制转义值不得超过256。如果超过256,则只有前两位数字构成表达式。允许在正则表达式中使用ASCII码


\xn匹配n,其中n是十六进制转义值。十六进制转义值必须正好有两位数长。例如,“\x41”匹配“a”。“\x041”相当于“\x04”和“1”。允许在正则表达式中使用ASCII码。

谢谢。我如何告诉引擎它应该这样做