본문 바로가기

기타

정규표현식

정규표현식

정규식 연습 사이트

정규식 문제 풀어보기

정규식은 텍스트에서 원하는 특정한 패턴을 찾을 때 사용된다.

활용예시) 전화번호 형태, 웹사이트 형태, 이메일, 패스워드 유효성 검사 등

/regex/i

슬래시 안에 정규표현식이 오고 뒤에는 옵션이 붙는다.

  • regex : 정규표현식
  • i : flag(옵션)

flag옵션

  • g global : 매칭되는 다수의 결과값을 기억할 수 있는 것
  • m multiline : 문장을 전체로 보지 않음.

정규표현식 문법

Groups and ranges

Chracter뜻

| 또는
() 그룹
[] 문자셋, 괄호안의 어떤 문자든/하나라도 만족하는 문자열 찾음
[^] 부정 문자셋, 괄호안의 어떤 문가 아닐때/Not
(?:) 찾지만 기억하지는 않음/그룹지정x

Quantifiers 수량

Chracter뜻

? 없거나 있거나 (zero or one)
* 없거나 있거나 많거나 (zero or more)
+ 하나 또는 많이 (one or more)
{n} n번 반복
{min,} 최소
{min,max} 최소, 그리고 최대

Boundary-type

Chracter뜻

\b 단어 경계
\B 단어 경계가 아님
^ 문장의 시작
$ 문장의 끝

Character classes

Chracter뜻

\ 특수 문자가 아닌 문자
. 어떤 글자 (줄바꿈 문자 제외 모든 문자)
\d digit 숫자
\D digit 숫자 아님
\w word 문자
\W word 문자 아님
\s space 공백
\S space 공백 아님

사용 예시

  • /[a-f]/ : a부터 f
  • /gra?y/ : a가 있거나 없거나
  • /\bYa/ : 단어 앞에서 쓰이는 Ya만 검색
  • /Ya\b/ : 단어 뒤에서 쓰이는 Ya만 검색
  • /Ya\B/ : 대문자는 반대로 적용(단어 뒤에서 쓰이지 않는 Ya만 검색)
  • 특수문자(., ? 등)을 찾을 때는 \앞에 붙여줘야 함