정규표현식은 어떤 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다.

 

아래 표를 통해 기본적인 정규표현식의 문법을 확인할 수 있다.

메타문자 기능 설명
. 문자 1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다.
[ ] 문자 클래스 "["과 "]" 사이의 문자 중 하나를 선택한다. "|"를 여러 개 쓴 것과 같은 의미다.
예를 들어 [abc]d는 ad, bc, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다.
[^ ] 부정 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다.
^ 처음 문자열이나 행의 처음을 의미한다.
$ 문자열이나 행의 끝을 의미한다.
( ) 하위식 여러 식을 하나로 묶을 수 있다. "abc|adc"와 "a(b|d)c"는 같은 의미를 가진다.
\n 일치하는 n번째 패턴 일치하는 패턴들 중 n번째를 선택하며, 여기에서 n은 1에서 9 중 하나가 올 수 있다.
* 0회 이상 0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다.
{m,n} m회 이상 n회 이하 "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaab"는 포함하지 않는다.

 

다양한 정규표현식을 살펴보자.

 

숫자만 

/^[0-9]+$/

 

소문자 영어와 숫자로만 이루어진 2자 이상 10자 이하 문자열

 

/^(?=[a-za-z])(?=.*[0-9]).{2,10}$/

 

이메일

/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6})*$/

 

 jpg, gif, png 확장자를 가진 그림 파일명

/([^\s]+(?=.(jpg|gif|png)).\2)/

 

'IT' 카테고리의 다른 글

[IT] 객체 지향 프로그래밍 ( Object-Oriented Programming, OOP )  (0) 2024.09.26
[IT] Visual Studio Code - 디버그  (0) 2024.09.19
[IT] Access Token, Refresh Token  (1) 2024.09.09
[IT] 인증, 인가  (0) 2024.09.09
[IT] JWT  (0) 2024.09.08

+ Recent posts