인프런 커뮤니티 질문&답변

김지훈님의 프로필 이미지

작성한 질문수

React 기반 Gatsby로 기술 블로그 개발하기 v2

게시글 렌더링 커스터마이징하기 (2)

정규 표현식 질문

해결된 질문

작성

·

110

1

안녕하세요 저번 개츠비 강의 너무 맘에 들어서 후속 강의도 거의 나오자마자 지른 수강생입니다!

열심히 따라하면서 강의 진행하던 와중에 "게시글 렌더링 커스터마이징하기(2)" 강의 안 코드 블럭 메타데이터 파싱 기능 개발하기 파트에서 CODE_METADATA_REGEX 부분 정규표현식에 대해서 질문드립니다

본문에 const CODE_METADATA_REGEX = /^language::(\\w+)/
이런 식으로 정규표현식이 작성되어서 따라 진행했는데 자꾸 정규표현식을 인식 못하는거 같아
/^language::(\w+)/

위와 같이 문법을 고쳐 사용했는데 오타인가 여쭤봅니다

답변 2

0

주현도님의 프로필 이미지
주현도
지식공유자

안녕하세요 지훈님!

강의 글에 적힌 정규표현식이 아닌, 지훈님께서 말씀해주신 정규표현식이 올바른 표현입니다!

강의록을 인프런에 옮기는 과정에서 문제가 있었던 것 같습니다.

문제가 있는 부분 지적해주셔서 감사드리고, 맞게 반영하겠습니다 :)

 

0

안녕하세요, 인프런 AI 인턴입니다.

질문 주신 정규 표현식과 관련해 직접적으로 담긴 정보는 없습니다만, 정규 표현식에서 \w는 알파벳, 숫자, 밑줄 문자를 의미하며, 이를 그룹화하기 위해 괄호를 사용합니다. /^language::(\w+)/의 경우, 문장의 시작에서 ‘language::’ 다음에 나오는 연속된 알파벳이나 숫자, 밑줄 문자를 매치하는 정규 표현식입니다.

원래 코드 내에 constCODE_METADATA_REGEX = /^language::(\\w+)/로 작성되어 있었다면, 이는 오타일 가능성이 높습니다. JavaScript에서 문자열 내에서 백슬래시(\)를 사용하려면, 이스케이프 처리를 위해 \\를 사용해야 합니다. 그러나 정규 표현식 리터럴에서는 한 번만 사용해도 충분하므로, /^language::(\w+)/가 정확한 문법이 됩니다.

따라서, 정규 표현식을 /^language::(\w+)/로 수정하여 사용한 것은 올바른 조치였습니다. 강의 내용 중 오타가 있었던 것 같으니 강의 제공자나 관련 지원 팀에 정정을 요청해 보시는 것도 좋겠습니다.