javascript - Node 表达带有排除项的虚荣 url 路径参数

标签 javascript regex node.js express

我最初有这条路线来匹配任何 clientId/c 之后这非常有效,因为我不必担心静态文件、ajax 端点或任何其他页面。

app.get('/c/:clientId'

请求进来是为了摆脱 /c出于虚荣的目的,所以我尽力对静态文件等进行否定前瞻(?!css\/|js\/|...同时做一个捕获组(.*)获取 req.params[0] 的实际值.

不幸的是,我无法捕获“最多”第一个转发的值,最终使用了 (\w*)。作为捕获解决方法。然而,这只会捕获 /client123

/client123/item/e0980780-efac-11e3-ac10-0800200c9a66

但不是 /some-super-duper-client5000

/some-super-duper-client5000/item/e0980780-efac-11e3-ac10-0800200c9a66

请看这里的例子:

http://regexr.com/38vk6

如有任何见解,我们将不胜感激!

最佳答案

我不是 100% 清楚您想捕获什么和不想捕获什么,但也许使用它对您的捕获组有用?:

([^\/]*)

这将是最终结果正则表达式:

^\/(?!css\/|views\/|js\/|image\/|endpoint\/|style-guide)([^\/]*)$

实例:

http://regexr.com/38vk9

关于javascript - Node 表达带有排除项的虚荣 url 路径参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128159/

相关文章:

java - 我的 String 和 StringBuilder 未在控制台中显示输出

node.js - 如何避免使用 mongoose/node 进行深层嵌套代码?

javascript - 检测是否启用了 Javascript?

Squarespace 中的 JavaScript 不起作用?

c# - 在单个正则表达式中仅选择选择的数字部分

用于在 Python 中重复字符串中字符的正则表达式

javascript - 在 JavaScript 中提取给定 xpath 的数据/值

javascript - 创建要添加的函数,使得 add(1,2)(3,...k)(1,2,3)...(n) 应该对所有数字求和

node.js - Rollup 不捆绑声明文件

php - 使用 NodeJS 使用数据库进行实时实时更新 View