有没有办法让正则表达式在特定单词或字符之前停止?
例如,我有一个类似的文字:
顾问:HarrisTeamTeamRole
所以我想写一个正则表达式,使顾问者名称动态,但只捕获哈里斯。如何编写正则表达式以便在Team之前停止?
答案 0 :(得分:2)
答案 1 :(得分:2)
这个正则表达式将是:
:([A-Z][a-z]*)
这个只捕获冒号后的第一个单词,只要它在CamelCase中,这意味着它不必是单词Team
,也可以是Advisor:HarrisNetworkSomething
。
答案 2 :(得分:2)
你可以使用这样的lookbehind和lookahead:
(?<=Advisor:).*?(?=Team)
这只会从“Advisor:”捕获到第一个“Team”,并且正则表达式不会捕获捕获组中的任何其他内容(包括“Team”)或其他内容。这将需要一种可以做后卫的正则表达式......如果你不使用它,你将不得不使用分组......这可能很简单:
Advisor:(.*?)Team
然后只需获取捕获组#1