3 个版本
0.1.2 | 2019 年 6 月 3 日 |
---|---|
0.1.1 | 2019 年 4 月 6 日 |
0.1.0 | 2019 年 3 月 24 日 |
#51 in #turn
12KB
264 代码行,不包括注释
path_to_regexp
将路径字符串(如 /user/:name
)转换为正则表达式
使用示例
extern crate path_to_regexp;
use path_to_regexp::*;
fn main() {
let scheme: &str = "/route/:foo/:bar/:id";
let uri: &str = "/route/john/doe/7";
let containers = parse(scheme, Options::default());
let regexp = to_regexp(containers.as_ref(), Options::default());
let matches = match_str(uri, regexp, containers.to_vec());
println!("matches {:#?}", matches);
/* OUTPUT:
* matches [
* Match {
* name: "foo",
* value: "john"
* },
* Match {
* name: "bar",
* value: "doe"
* },
* Match {
* name: "id",
* value: "7"
* }
* ]
*/
}
致谢
此包受到其 JavaScript 版本 path-to-regexp 的极大启发。
依赖项
~5–13MB
~147K SLoC