在正则表达式中重复可变长度段

Repeating variable length segments in Regex

我正在尝试将以下内容与此正则表达式匹配:

/(?<route>(?:.*\/){1,2}?)(?<group>(?:.*\/){1,2}+)?/

试图让第一组变得懒惰,让第二组变得贪婪和可选,但它们不匹配。我错过了什么?

初始演示:https://regex101.com/r/aRvvQE/2

假设路径末尾有一个文件扩展名,那么您可以使用:

(?<route>(?:[^/\s]*\/){1,2}?)(?<group>(?:[^/\s]*\/){0,2})(?=[^/]*\.)

如果不是,则将 \. 更改为 $ 或任何适合的内容。