| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- react-query
- frontend
- error
- 코딩테스트
- Apple Developer Academy
- SWIFT
- JavaScript
- velog
- 프로그래머스
- 프론트엔드
- git
- Xcode
- Front-end
- iOSDeveloper
- 알고리즘
- NextJs
- UIKit
- 코드트리
- 코딩테스트실력진단
- swiftUI
- AppleDeveloperAcademy
- ios
- TypeScript
- 프로젝트
- 자바스크립트
- globalcommunity
- tshaped
- 회고
- react
- 코드트리챌린지
Archives
- Today
- Total
Moon Work
드디어 정규 표현식 본문
시작하며
미루고 미루던 정규표현식을 시작했다. 사실 '정규표현식'이라는 이름과 그 형태에서 느껴지는 왠지 모르는 강력함 때문에 미뤘던 것인데 공부해보니 생각보다 어렵지 않아서 조금 허탈했다. 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
참고
'이해를 위한 기록들' 카테고리의 다른 글
| 함수형 프로그래밍 (0) | 2023.01.15 |
|---|---|
| Skeleton UI 적용기 (0) | 2023.01.11 |
| jest 기초 (0) | 2022.12.12 |
| Typescript와 OOP SOLID 원칙 (0) | 2022.11.29 |
| Git 기초 명령어 모음 (0) | 2022.11.22 |