在 express 中,我们可以用一些路径定义一些端点:
app.get('/:foo*', function(req, res) { ... });
app.get('/:foo(.*)', function(req, res) { ... });
这两条路径很相似,它们有什么区别?
最佳答案
*
匹配零个或多个前面的标记
给定字符串 /:foo/apple/banana/:foo/:1234
/:foo* matches: /:foo/apple/banana/:foo/:1234
^^^^^ ^^^^^
(.*)
是一个捕获组,它将匹配所有 0 个或多个前面的字符。有问题的字符是一个通配符,这意味着当我们看到 /:foo
时,我们将继续匹配,直到到达字符串的末尾
给定字符串 /hello/world/:foo/bar?id=123
/:foo(.*) matches /hello/world/:foo/bar?id=123
^^^^^^^^^^^^^^^^
关于javascript - 快速路由中的 `/:foo*` 和 `/:foo(.*)` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37861777/