Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式单词粘在一起_Regex_Qtp - Fatal编程技术网

Regex 正则表达式单词粘在一起

Regex 正则表达式单词粘在一起,regex,qtp,Regex,Qtp,有没有一种方法可以让正则表达式在特定单词或字符之前停止 例如,我有这样一个文本: 顾问:Harristeamrole 因此,我想编写一个正则表达式,使advisor名称动态,但只捕获Harris。如何编写一个正则表达式,使其在团队开始之前停止 您可以尝试使用Lazy方法,从索引1中获得匹配的组 ^Advisor:(.*?)Team 这里是 此正则表达式将是: :([A-Z][A-Z]*) 这一个只捕获冒号后面的第一个单词,只要它在CamelCase中,这意味着它不必是单词Team,它也可以是A

有没有一种方法可以让正则表达式在特定单词或字符之前停止

例如,我有这样一个文本:

顾问:Harristeamrole


因此,我想编写一个正则表达式,使advisor名称动态,但只捕获Harris。如何编写一个正则表达式,使其在团队开始之前停止

您可以尝试使用Lazy方法,从索引1中获得匹配的组

^Advisor:(.*?)Team
这里是

此正则表达式将是:

:([A-Z][A-Z]*)


这一个只捕获冒号后面的第一个单词,只要它在CamelCase中,这意味着它不必是单词
Team
,它也可以是
Advisor:HarrisNetworkSomething

您可以像这样使用lookback和lookahead:

(?<=Advisor:).*?(?=Team)

然后得到捕获组#1

QTP使用VBScript作为语言是的,QTPAwesome中的VBScript有效。我只需要向前看,所以它就停在车队。所以我使用了Advisor:.*(?=团队),它成功了@user3911803当然,如果你想同时捕获“Advisor:”也可以,但我认为你只需要“Harris”,在这种情况下,你必须同时使用两个lookarounds。。。或者从一个捕获组中提取。哎呀,我想我在我原来的帖子中没有说清楚。但我会记住这个方法;真的很有用。谢谢大家!<代码>顾问根据OP@user3218114,OP说顾问的名字是动态的,“顾问”一词不是动态的。这在大多数情况下可能有效,但可能会出现一些不可预见的问题。。。例如,如果顾问的名字是“麦当劳”。。。或者如果OP不想包括前面没有“顾问”和/或前面没有“团队”的比赛。我同意斯默尼。在这种情况下,这种方法也可以工作,但我可以看到它不能工作的场景。
Advisor:(.*?)Team