"레지엑스"를 활용한 파멸적 문자열 탐색
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 |