"레지엑스"를 활용한 파멸적 문자열 탐색
https://youtu.be/t3M6toIflyQ 엘리 강의
https://regexone.com/regex 학습/퀴즈 사이트
https://regexr.com 정규표현식 작성 시 유용한 사이트.
/regex?/i
/ : regex 시작. / ~ / 사이에 패턴을 넣는다.
regex? : 패턴
i : 플래그 (여러 옵션을 넣을 수 있다)
이 글에서는 편의상 플래그는 작성하지 않는다.
| 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]/ : [ ] 안에 들어간 문자를 제외
| 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개
| Chracter | 뜻 |
|---|---|
\b | 단어 경계 |
\B | 단어 경계가 아님 |
^ | 문자셋, 괄호안의 어떤 문자든 |
$ | 부정 문자셋, 괄호안의 문자가 아닌 것 |
/\bYa/ : Ya로 시작하는 단어의 Ya
/\BYa/ : Ya로 시작하지 않는 단어의 Ya
/Ya\b/ : Ya로 끝나는 단어의 Ya
/Ya\B/ : Ya로 끝나지 않는 단어의 Ya
/^Ya/ : 문장에서 시작하는 Ya
/Ya$/ : 문장에서 끝나는 Ya
| Chracter | 뜻 |
|---|---|
. | 어떤 글자 (줄바꿈 문자 제외) |
\ | 특수문자 |
\d | digit |
\D | Not digit |
\w | word |
\W | Not word |
\s | space |
\S | Not space |
/./ : 줄바꿈 제외 모든 문자
/\./ : 실제 점(.)을 찾고 싶을 때
\d : 모든 숫자
\D : 숫자를 제외한 모든 문자
\w : 모든 단어
\W : 단어를 제외한 모든 문자
\s : 모든 공백
\S : 공백을 제외한 모든 문자
| Chracter | 뜻 |
|---|---|
g | global search |
i | ignore case |
m | multiline |
s | single line (dotall) |
u | unicode |
y | sticky |