Ответ 1
В настоящее время AngularJS не поддерживает регулярное выражение в маршрутах.
Вы можете обходиться следующим образом
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/admin', {templateUrl: 'admin.html', controller: 'AdminCtrl'})
.when('/admin/:type', {templateUrl: 'admin.html', controller: 'AdminCtrl'})
.when('/admin/:type/:id', {templateUrl: 'admin.html', controller: 'AdminCtrl'});
}]);
http://plnkr.co/edit/tBumW2oEqki2sEl1hjSc?p=preview
IMO, неплохо иметь отдельный контроллер для администратора и пользователей, если в противном случае у вас есть особые требования.