我需要能够匹配像' / @ someusername'这样的路径。使用有角度的ui路由器,但无法找出它的正则表达式。
我所拥有的路线如下
$stateProvider
.state('home', {url:'/', templateUrl:'/template/path.html'})
.state('author', {url:'/{username:[regex-to-match-@username-here]}'})
.state('info', {url:'/:slug', templateUrl:'/template/path.html'})
.state('entry', {url:'/:type/:slug', templateUrl:'/template/path.html'});
我需要为“作者”提供一些正则表达式。匹配@usernames的路由。目前,我尝试的所有内容都被“条目”所吸引。路由。
答案 0 :(得分:1)
下面的正则表达式应该完成这项工作
(@[a-zA-Z0-9]+)
说明:
( group and capture to \1:
@ '@'
[a-zA-Z0-9]+ any character of: 'a' to 'z', 'A' to
'Z', '0' to '9' (1 or more times)
) end of \1
你也可以使用这个
(?:@[a-zA-Z0-9]+)
旁注:正如OP指针一样,如果上面与AngularJS一起使用,则不得包含捕获括号
答案 1 :(得分:0)
在 config
部分配置您的路线:
angular.module('ngRouteExample', ['ngRoute'])
.config(function($routeProvider, $locationProvider) {
$routeProvider.when('/User/:username', {
}
})