[RegEx] Regular Expression

Steve·2021년 4월 27일
0

공부

목록 보기
1/10
post-thumbnail

"레지엑스"를 활용한 파멸적 문자열 탐색

https://youtu.be/t3M6toIflyQ 엘리 강의
https://regexone.com/regex 학습/퀴즈 사이트
https://regexr.com 정규표현식 작성 시 유용한 사이트.

0. Basics

/regex?/i

/ : regex 시작. / ~ / 사이에 패턴을 넣는다.
regex? : 패턴
i : 플래그 (여러 옵션을 넣을 수 있다)

이 글에서는 편의상 플래그는 작성하지 않는다.

1. Groups and ranges

Chracter
|또는
()그룹
[]문자셋, 괄호안의 어떤 문자든
[^]부정 문자셋, 괄호안의 문자가 아닌 것
(?:)찾지만 기억하지는 않음

/hi|hello/ : hi 또는 hello 탐색
/(hi|hello)/ : 그룹으로 지정
/(hi|hello)|(nice)/ : 그룹을 2개 만듦.
/gr(e|a)y/ : gr로 시작하면서 e 또는 a 가 들어있고 y 로 끝나는 단어
/gr(?:e|a)y/ : 그룹을 지정하기 싫을 때
/gr[aed]y/ : [ ] 에 있는 문자 중 하나만 있어도
/gr[a-f]y/ : a ~ f 중 하나만 있어도
/[a-zA-Z0-9]/ : a~z, A~Z, 0~9 중 하나만 있어도
/[^a-zA-Z0-9]/ : [ ] 안에 들어간 문자를 제외

2. Quantifiers

Chracter
?zero or one
*zero or more
+one or more
{n}n번 반복
{min}최소
{min, max}최대

/gra?y/ : a가 있거나 없거나
/gra*y/ : a가 없거나 있거나 많거나
/gra+y/ : a가 하나 혹은 그 이상
/gra{2}y/ : a가 2개
/gra{2,}/ : a가 최소 2개
/gra{2,3}/ : a가 최소 2개 ~ 최대 3개

3. Boundary-type

Chracter
\b단어 경계
\B단어 경계가 아님
^문자셋, 괄호안의 어떤 문자든
$부정 문자셋, 괄호안의 문자가 아닌 것

/\bYa/ : Ya로 시작하는 단어의 Ya
/\BYa/ : Ya로 시작하지 않는 단어의 Ya
/Ya\b/ : Ya로 끝나는 단어의 Ya
/Ya\B/ : Ya로 끝나지 않는 단어의 Ya
/^Ya/ : 문장에서 시작하는 Ya
/Ya$/ : 문장에서 끝나는 Ya

4. Character classes

Chracter
.어떤 글자 (줄바꿈 문자 제외)
\특수문자
\ddigit
\DNot digit
\wword
\WNot word
\sspace
\SNot space

/./ : 줄바꿈 제외 모든 문자
/\./ : 실제 점(.)을 찾고 싶을 때
\d : 모든 숫자
\D : 숫자를 제외한 모든 문자
\w : 모든 단어
\W : 단어를 제외한 모든 문자
\s : 모든 공백
\S : 공백을 제외한 모든 문자

5. Flags

Chracter
gglobal search
iignore case
mmultiline
ssingle line (dotall)
uunicode
ysticky
profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글