我无法修复贪婪的正则表达式

时间:2017-11-09 13:31:07

标签: regex

我需要从url的开头捕获到示例url中的/ blog的第一个实例

https://subdomain.website.com/groups/aa-var-group-members-only-two/blog/2017/10/22/blog-post-3

我现在使用的正则表达式是(。*)/ blog

是贪婪的,直到最后一个" / blog"即

https://subdomain.website.com/groups/aa-var-group-members-only-two/blog/2017/10/22/blog

而我的预期结果是

https://subdomain.website.com/groups/aa-var-group-members-only-two/blog

有人可以帮我修复正则表达式

1 个答案:

答案 0 :(得分:1)

在你的例子中,这个

^(.*?)blog

这将捕获所有直到第一篇博客提及

enter image description here

你可以在这里玩https://regex101.com/r/nYmOeh/1:)

.*?是您最初示例的非贪婪版本。 Sidyll here给出了关于贪婪与非贪婪的完美解释。

或者,捕获所有(没有博客):

/.+?(?=blog)/

enter image description here