decamelize
-
[RegExp] $1개발/Javascript 2022. 6. 26. 02:32
카멜 케이스로된 변수 이름을 스네이크 케이스로 변환시켜주는 라이브러리의 동작 방식이 궁금했습니다. node_modules에서 코드를 살펴보니 처음 보는 정규식을 발견했습니다. /([\p{Lowercase_Letter}\d)([/p{Uppercase_Letter}])/gu \p는 문자가 유니코드에 속하는지는 검사합니다. 이를 사용하기 위해서 u 플래그를 써야 하죠. 그래서 g 플래그 뒤에 u를 추가해야 합니다. 여기에서 두 가지 캡처 그룹이 있는데요. 캡처 그룹은 ()를 사용해서 구분합니다. 여러가지 토큰을 그룹화해야할 때 캡처를 사용하죠. 위의 정규 표현식을 풀어보겠습니다. 1. ([\p{Lowercase_Letter}\d) - 유니코드에 속하는 소문자 혹은 숫자가 첫 번째 캡처 그룹\ 2. ([/p{U..