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

roider2316님의 프로필 이미지
roider2316

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

정규표현식으로 문자열 변환하기

정규표현식 질문

해결된 질문

작성

·

253

0

만약에 닉네임을 name[react](23) 라고 지었고, id가 20이라면

data.content는 @[name[react](23)](20) 이런식으로 되잖아요.

그런데 거기서 코드에 있는 정규표현식을 쓰면 match는

](1) 부분을 빼먹게 되고 그 상태에서 arr을 구하면

닉네임이 name[react 으로, id는 1이 아닌23으로 출력되더라고요. 실제로 예시와 똑같이 회원가입 하고 name[react](23)에게 멘션 해보니

클릭했을 때 초깃값으로 파란줄이 name[react 까지만 생성되고 추가로 ](20) 이란 텍스트가 더해지더라고요. (참고로 name[react](23)의 ID가 20입니다.)물론 Link로 넘어가는 것도 안되고요.

그래서 +? 말고 그냥 +로 해보니깐 위처럼 잘 매칭 되는 것 같아서 코드에 적용시켰더니

이제 Link부분은 잘 나오는데

멘션 클릭시 초깃값이 여전히 이상하게 나옵니다. 저 부분은 어딜 고쳐야 되는 건가요?

 

 

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네, 이럴 때 하는 좋은 방법이 있습니다.

닉네임 특수문자 사용 금지

저기 하이라이트 하는 부분은 라이브러리의 부분이라서 라이브러리에서 저 부분 수정하는 걸 제공하지 않으면 수정 불가능합니다.

roider2316님의 프로필 이미지
roider2316
질문자

생각해보니 롤이나 넥슨같이 유명한 게임에서 조차 닉네임 설정에 특수문자를 막아놓았던 것 같네요. 감사합니다!

roider2316님의 프로필 이미지
roider2316

작성한 질문수

질문하기