-
드디어 정규 표현식이해를 위한 기록들 2022. 12. 22. 13:18
시작하며
미루고 미루던 정규표현식을 시작했다. 사실 '정규표현식'이라는 이름과 그 형태에서 느껴지는 왠지 모르는 강력함 때문에 미뤘던 것인데 공부해보니 생각보다 어렵지 않아서 조금 허탈했다. dream coding의 ellie 가 정리해준 내용을 바탕으로 기록을 남긴다.
정규표현식
- 텍스트에서 원하는 패턴을 찾는 경우 사용한다.
- 기본적으로 / ... / 와 같이 슬래시 안에 원하는 패턴을 정의한다.
정규표현식 문법
표현 의미 | 또는 / () 안에서 사용 () 그룹 / 추출하길 원하는 부분을 그룹화해서 사용한다. [] 문자셋 / 여러개의 문자를 포함하고 싶을 때 사용한다. [^] 부정 문자셋 / 괄호 안에 문자들을 제외한 부분을 선택한다. (?:) 그룹으로 사용할 경우 추출할 때 그룹인 부분을 생략해서 보여준다. 예시
/a(b|c)/ ab,ac 선택 /a[1234]/ a1,a2,a3,a4 선택 / | 을 쓰는 것보다 더 효율적 /a(^c|d)/ ad 선택, ac는 제외 표현 의미 ? 있거나 없거나 / 0 또는 1 선택 * 없거나 있거나 많거나 / 0 또는 1 또는 그 이상 선택 + 있거나 많거나 / 1 또는 그 이상 선택 {n} n번 반복될 경우 선택 {n,m} 최소 n번 반복되고 최대 m번 반복될 경우 선택 {n,} 최소 n번 반복되고 그 이상 반복될 경우 선택 예시
/ab?/ a, ab 선택 /ab{3}/ abbb 선택 /a+/ a,aa,aaa,aaaa 선택 표현 의미 \b 단어 경계 \B 단어 경계 아님 ^ 문장의 시작 $ 문장의 끝 예시
/\bi.\b/ hello my name is austin / 단어 사이 경계에 있는 'is' 선택 /\Bel\B/ hello my name is austin / 단어 사이 경계에 있지 않는 'el' 선택 /^a/ a,agawe,austin 선택 /e$/ have, she 선택 표현 의미 \ 특수 문자가 아닌 문자 선택 . 모든 글자 (한글자만) 선택 \d 모든 숫자 선택 \D 모든 숫자가 아닌 문자 선택 \w 모든 word 문자 선택 \W 모든 word가 아닌 문자 선택 \s 모든 공백 선택 \S 모든 공백 빼고 선택 예시
/a./ ab, a5 선택 /\da/ 1a, 5a 선택 /\D10/ a10, g10 선택 /\syoutube/ ' youtube' 선택 아래사이트에서 정규 표현식이 잘 적용되는지 확인할 수 있다.
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
참고
'이해를 위한 기록들' 카테고리의 다른 글
프론트엔드 네이밍 규칙(with 코딩 컨벤션) (0) 2023.01.07 알았는데 까먹은 React 기록 - useMemo vs useCallback (0) 2023.01.05 jest 기초 (0) 2022.12.12 React Suspense 적용기 (0) 2022.12.11 Custom hook 기초 (0) 2022.12.08