Path-to-RegExp 将路径字符串转换为正则表达式的工具开源项目

我要开发同款
匿名用户2021年11月10日
298阅读

技术信息

开源地址
https://github.com/pillarjs/path-to-regexp
授权协议
MIT

作品详情

Path-to-RegExp是一个可以将诸如/user/:ame这样的路径字符串转换为正则表达式的工具。

安装pmistallpath-to-regexp--save用法cost{pathToRegexp,match,parse,compile}=require("path-to-regexp");//pathToRegexp(path,keys?,optios?)//match(path)//parse(path)//compile(path)Pathtoregexp该pathToRegexp函数将根据提供的path参数返回一个正则表达式对象。它接受以下参数:

Path 字符串、字符串数组或正则表达式。Keys (可选)要填充路径中找到的键的数组。Optio (可选)sesitive strict edstartdelimiter EdsWithecodeprefixescostkeys=[];costregexp=pathToRegexp("/foo/:bar",keys);//regexp=/^\/foo(?:\/([^\/#\?]+?))[\/#\?]?$/i//keys=[{ame:'bar',prefix:'/',suffix:'',patter:'[^\\/#\\?]+?',modifier:''}]参数path参数用于定义参数和填充键。

命名参数命名参数是通过在参数名称前加一个冒号来定义的( :foo)。

costregexp=pathToRegexp("/:foo/:bar");//keys=[{ame:'foo',prefix:'/',...},{ame:'bar',prefix:'/',...}]regexp.exec("/test/route");//=>['/test/route','test','route',idex:0,iput:'/test/route',groups:udefied]请注意:参数名称必须使用“单词字符”( [A-Za-z0-9_])。

自定义匹配参数

参数可以有一个自定义的正则表达式,它会覆盖默认匹配( [^/]+)。例如,可以匹配路径中的数字或名称:

costregexpNumbers=pathToRegexp("/ico-:foo(\\d+).pg");//keys=[{ame:'foo',...}]regexpNumbers.exec("/ico-123.pg");//=>['/ico-123.pg','123']regexpNumbers.exec("/ico-abc.pg");//=>ullcostregexpWord=pathToRegexp("/(user|u)");//keys=[{ame:0,...}]regexpWord.exec("/u");//=>['/u','u']regexpWord.exec("/users");//=>ull提示:反斜杠需要在JavaScript字符串中使用另一个反斜杠进行转义。

自定义前缀和后缀

可以将参数包裹起来,{}为你的细分创建自定义前缀或后缀:

costregexp=pathToRegexp("/:attr1?{-:attr2}?{-:attr3}?");regexp.exec("/test");//=>['/test','test',udefied,udefied]regexp.exec("/test-test");//=>['/test','test','test',udefied]

功能介绍

Path-to-RegExp 是一个可以将诸如/user/:name这样的路径字符串转换为正则表达式的工具。 安装 npm install path-to-regexp --save 用法 co...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论