URL Parameters # 02

0_CyberLover_0·2022년 3월 19일
0

Node.JS # 02

목록 보기
2/19
post-thumbnail

" / : id " 뒤에 숫자만 오게 해 보겠다.

정규식에 대해 알아 보자.

app.get('/ab*cd', (req, res) => {

res.send('ab*cd')

})

ab 뒤에 "*"는 모든걸 뜻하고 cd가 온다. abcd, abxcd, abRANDOMcd, ab123cd,

이렇게 올수 있다는 거다.

app.get('/ab+cd', (req, res) => {

res.send('ab+cd')

})

ab 다음에 "+"가 있는데 "+" 는 b가 얼마든지 많아도 된다.

abcd, abbcd, abbbcd 이런 식으로 말이다. 이런걸 정규식(Regular Expression)이라고 부른다.

정규식은 문자열로 부터 특정 정보를 추출해내는 방법이다.

정규식은 모든 프로그래밍 언어에 존재한다.

개발자에게 정규식은 아주 유용하다.

사용하는 방법은 간단하다.

http://www.regexpal.com

해당 site에서 시도 해볼수 있다.

단어만 해당할 경우는

ex:)

/(Mercur\+w)/g

Hello my name is Mercury and im 36, my name is also Mercurys

이렇게 적용 할 경우 Mercur 뒤로 오는 단어까지 적용 되서

해당 문자들이 색이 변하는걸 확인할수 있다.

숫자만 적용 되게 하고 싶은 경우는

ex:)

/(\d+)/g

/videos/56

/videos/hahahahaha

숫자에만 색이 적용된걸 확인할수 있다.

이제 코드에 직접 대입 해보겠다.

videoRouter.js

videoRouter.get("/:id(\\d+)", see);

JavaScript에는 "\" 하나 더 추가 해줘야한다.

http://localhost:4000/videos/1124 가서 확인해 보니 잘 작동한다.

숫자만 적용되고 문자일 경우 오류가 난다.

나머지에도 모두 적용 해준다.

videoRouter.js

videoRouter.get("/:id(\\d+)/edit", edit);

videoRouter.get("/:id(\\d+)/delete", deleteVideo);

이제 이렇게 작성하고 나면 upload가 중간에 있든 상관이 없게 된다.

profile
꿈꾸는 개발자

0개의 댓글