正则 (?:)

(?:X)在正则中表示所匹配的子组X不作为结果输出

正常情况(X)中的X会被作为新增的一个组序号输出,比如(A)(B),A的序号1,B的序号2

如果(?:A)(B),A将没有序号不输出,B的序号为1


/*规范化url,去掉后面的查询字符串,可选的反斜杠,并将它变为小写*/

var path = req.url.replace(/\/?(?:\?.*)?$/, '').toLowerCase();

\/  一个 / 字符
\/? 有或没有 / 字符
(?:) 匹配组, ?:用於标记该匹配组不应被捕获
\? 一个 ? 字符
. 除了行分隔符以外的任意字符
* 重复0至任意次
.* 任意个除了行分隔符以外的字符
(?:\?.*)? 有或没有均可
$ 匹配字符串的终止位置

总结起来, 该正则用於匹配出URL尾部的蒐索部分
例如
..../?abc 匹配出 /?abc
...?abc 匹配出 ?abc
.../ 匹配出 /
.../efg 匹配出空字符串


  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值