Как мне написать сопоставитель пути, который сопоставляет любую часть оставшегося пути с регулярным выражением?

Я хотел бы написать сопоставитель пути, который сопоставляет любую из оставшихся частей пути с регулярным выражением, например,

path("myregex".r) 

будет соответствовать, если у меня есть оставшиеся пути в форме:

/myregex
/foo/myregex
/foo/myregex/bar
/myregex/bar

Я посмотрел на код для сопоставителя регулярных выражений, кажется, что он смотрит только на первый сегмент, я мог бы настроить несколько маршрутов или написать собственный сопоставитель, но мне было интересно, есть ли уже лучшее решение для него?

Спасибо,

1 ответ

Решение

Как насчет этого?

  path(Segments){segments=>
    validate(segments.exists(_.matches("myregex")), "unmatched path"){          
      complete(s"matched: $segments")
    }
  }
Другие вопросы по тегам