返回关于 Nancy 风格路径字符串(如 /rebels/{name}/{action}/
)的信息。
您也可以手动将 PathSlicer
添加到您的项目中
Sources
文件夹拖到您的项目结构中。let slicer = PathSlicer()
let path = "/rebels/{name}/{action}"
let pathDescription = slicer.getPathDescription(path)
pathDescription
变量包含以下值
pathDescription = {
regex = "rebels\\/([^\\\\/]+?)\\/([^\\\\/]+?)(?:\\/(?=$))?$",
arguments = [ "name", "action" ]
}
文本段不包含任何参数,直接匹配。
let slicer = PathSlicer()
let path = "/empire/darth_vader/choke"
let pathDescription = slicer.getPathDescription(path)
pathDescription
变量包含以下值
pathDescription = {
regex = "/empire/darth_vader/choke(?:\\/(?=$))?$",
arguments = [ ]
}
捕获段允许向路径添加参数。每个捕获段被 {
和 }
包围。捕获段返回在路径描述的 argument
属性中。
let slicer = PathSlicer()
let path = "/empire/{name}/{action}"
let pathDescription = slicer.getPathDescription(path)
pathDescription
变量包含以下值
pathDescription = {
regex = "empire\\/([^\\\\/]+?)\\/([^\\\\/]+?)(?:\\/(?=$))?$",
arguments = [ "name", "action" ]
}
正则表达式段允许定义自定义组件匹配器。目前正则表达式的命名捕获组不会被作为路径描述的参数返回。
let slicer = PathSlicer()
let path = "/can_be_jedi/(?<age>[\\d]{1,2})"
let pathDescription = slicer.getPathDescription(path)
pathDescription
变量包含以下值
pathDescription = {
regex = "can_be_jedi/(?<age>[\\d]{1,2})(?:\\/(?=$))?$",
arguments = [ ]
}
PathSlicer 在 MIT 许可下发布。查看 LICENSE 获取详细信息。