반응형
Express에서 경로 일치를위한 정규식
저는 정규식을 잘 못하기 때문에이 작업을 올바르게 수행하고 있는지 확인하고 싶습니다. 하자 내가이 개 매우 유사한 경로를 가지고 있다고, /discussion/:slug/그리고 /page/:slug/. 이 두 페이지와 일치하는 경로를 만들고 싶습니다.
app.get('/[discussion|page]/:slug', function(req, res, next) {
...enter code here...
})
이것이 올바른 방법입니까? 지금은 두 개의 별도 경로를 만들고 있습니다.
someFunction = function(req, res, next) {..}
app.get('/discussion/:slug', someFunction)
app.get('/page/:slug', someFunction)
app.get('/:type(discussion|page)/:id', ...) 공장
문자열이 아닌 리터럴 자바 스크립트 정규식 객체를 사용해야하며 @sarnold는 괄호로 대체 할 수 있습니다. 대괄호는 문자 클래스 용입니다.
const express = require("express");
const app = express.createServer();
app.get(/^\/(discussion|page)\/(.+)/, function (req, res, next) {
res.write(req.params[0]); //This has "discussion" or "page"
res.write(req.params[1]); //This has the slug
res.end();
});
app.listen(9060);
(.+)수단은 적어도 1 캐릭터의 슬러그가 있어야합니다 또는이 경로가 일치하지 않습니다. (.*)빈 슬러그와도 일치 시키려면 사용하십시오 .
참고 URL : https://stackoverflow.com/questions/10858005/regex-for-route-matching-in-express
반응형
'Program Club' 카테고리의 다른 글
| 중앙 양식 제출 버튼 HTML / CSS (0) | 2020.11.19 |
|---|---|
| 벡터 지우기 반복기 (0) | 2020.11.19 |
| IntelliJ IDEA의 변경 목록은 무엇입니까? (0) | 2020.11.18 |
| transformClassesWithDexForDebug에서 Gradle 빌드가 느립니다. (0) | 2020.11.18 |
| DynamoDB의 타임 스탬프에는 어떤 데이터 유형을 사용해야합니까? (0) | 2020.11.18 |