Regex 正则表达式单词粘在一起
有没有一种方法可以让正则表达式在特定单词或字符之前停止 例如,我有这样一个文本: 顾问:HarristeamroleRegex 正则表达式单词粘在一起,regex,qtp,Regex,Qtp,有没有一种方法可以让正则表达式在特定单词或字符之前停止 例如,我有这样一个文本: 顾问:Harristeamrole 因此,我想编写一个正则表达式,使advisor名称动态,但只捕获Harris。如何编写一个正则表达式,使其在团队开始之前停止 您可以尝试使用Lazy方法,从索引1中获得匹配的组 ^Advisor:(.*?)Team 这里是 此正则表达式将是: :([A-Z][A-Z]*) 这一个只捕获冒号后面的第一个单词,只要它在CamelCase中,这意味着它不必是单词Team,它也可以是A
因此,我想编写一个正则表达式,使advisor名称动态,但只捕获Harris。如何编写一个正则表达式,使其在团队开始之前停止 您可以尝试使用Lazy方法,从索引1中获得匹配的组
^Advisor:(.*?)Team
这里是
此正则表达式将是:
:([A-Z][A-Z]*)
这一个只捕获冒号后面的第一个单词,只要它在CamelCase中,这意味着它不必是单词
Team
,它也可以是Advisor:HarrisNetworkSomething
。您可以像这样使用lookback和lookahead:
(?<=Advisor:).*?(?=Team)
然后得到捕获组#1QTP使用VBScript作为语言是的,QTPAwesome中的VBScript有效。我只需要向前看,所以它就停在车队。所以我使用了Advisor:.*(?=团队),它成功了@user3911803当然,如果你想同时捕获“Advisor:”也可以,但我认为你只需要“Harris”,在这种情况下,你必须同时使用两个lookarounds。。。或者从一个捕获组中提取。哎呀,我想我在我原来的帖子中没有说清楚。但我会记住这个方法;真的很有用。谢谢大家!<代码>顾问根据OP@user3218114,OP说顾问的名字是动态的,“顾问”一词不是动态的。这在大多数情况下可能有效,但可能会出现一些不可预见的问题。。。例如,如果顾问的名字是“麦当劳”。。。或者如果OP不想包括前面没有“顾问”和/或前面没有“团队”的比赛。我同意斯默尼。在这种情况下,这种方法也可以工作,但我可以看到它不能工作的场景。
Advisor:(.*?)Team