NodeJS 正则路由匹配

Posted 码小余の博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS 正则路由匹配相关的知识,希望对你有一定的参考价值。

NodeJS 正则路由匹配

本文主要记录一下学习中遇到的正则路由匹配问题

const express = require("express");
const app = express();
const port = 3000;

const { word } = require("./controllers/wordController");

// 正则路由匹配会匹配小括号()中的内容,并可以将匹配到的内容通过 req.params 获取到
// ?:表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来,也就是说不会在 req.params 中获取到
app.get(/\\/(\\d+)(?:w|word|words)(,*)$/, word);
app.listen(port, () => {
  console.log(`lijiazhao listening at http://localhost:${port}`);
});

访问 http:localhost:3000/10w,req.params 中会得到以下格式对象

{
    "0": "10",
    "1": ","
}

以上是关于NodeJS 正则路由匹配的主要内容,如果未能解决你的问题,请参考以下文章

正则匹配路由

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

nodejs 匹配字符串问题

Codeigniter 路由正则表达式 - 匹配除 'admin' 之外的任何字符串

Laravel - 正则表达式路由匹配所有内容,但不完全匹配一个或多个单词