일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로젝트
- 코딩테스트
- 자바스크립트
- ios
- 코드트리챌린지
- error
- 프론트엔드
- frontend
- 회고
- swiftUI
- velog
- SWIFT
- react-query
- UIKit
- NextJs
- AppleDeveloperAcademy
- JavaScript
- react
- Front-end
- 코딩테스트실력진단
- globalcommunity
- Apple Developer Academy
- iOSDeveloper
- TypeScript
- git
- 알고리즘
- Xcode
- 프로그래머스
- 코드트리
- tshaped
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 |