정규표현식(Regex)에 대해 알아보자 - 문자클래스

정규표현식(정규식)은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. 이 정규표현식을 잘 알면 전화번호 같이 특정한 의미를 가지는 패턴을 쉽게 나타낼 수 있다.

메타문자

정규표현식에서 사용되는 기호들을 메타문자라고 하는데, 이러한 것들이 있다.

. ^ $ * + ? { } [ ] \ | ( )

메타문자는 각각 특별한 의미를 갖고 있기 때문에 하나씩 살펴보며 메타 문자의 의미와 사용법에 대해 알아보자.

[ ]

[ ] 기호는 문자클래스를 뜻하는데, 이 괄호 안에 들어가는 문자 중 하나면 된다.

예를 들어 정규표현식이 [xyz] 일 경우, x, y, z 중 한 개의 문자 를 의미한다.

문자 매치되는가?
year O
x-ray O
apple X

 

이처럼 정규표현식을 사용해 주어진 문자가 표현하고 싶은 문자에 해당이 되는지 판별할 수 있다.

그러면 알파벳 대문자를 나타내고 싶다면 어떻게 해야할까? A부터 Z까지 모든 문자를 쓸 필요 없이 범위를 나타내는 - 문자를 사용하자. [A-Z] 로 쉽게 나타낼 수 있다.

예시 설명
[A-Z] 알파벳 대문자 매치
[a-z] 알파벳 소문자 매치
[A-Za-z] 문자 매치
[0-9] 숫자 매치
[A-Za-z0-9] 문자와 숫자 모두 매치

 

더 나아가 반대의 의미를 가지는 ^ 문자도 있다. 이 문자는 제외되는 문자를 가리킨다. 예를 들어 [^0-9] 의 경우, 숫자를 제외한 문자를 매치하는 의미이다.

 

추가.

문자클래스에서 자주 사용되는 별도의 표기법이다.

표현식 동일표현식 설명
\d [0-9] 숫자와 매치
\D [^0-9] 숫자를 제외한 매치
\w [a-zA-Z0-9_] 문자+숫자+_ 와 매치
\W [^a-zA-Z0-9_] 문자+숫자+_ 를 제외한 매치
\t   tab 문자와 매치
\v   수직 tab과 매치
\b   문자와 공백 사이의 문자 매치
\B   문자와 공백 사이가 아닌 문자 매치
\s [ \t\n\r\f\v] 공백 문자와 매치
\S [^ \t\n\r\f\v] 공백 문자가 아닌 것과 매치

참고
점프 투 파이썬
정규표현식 (Regex) 정리

'기타' 카테고리의 다른 글

Unit test - Test Double과 Mockito  (0) 2023.03.01
HTTP 상태 코드  (0) 2022.12.29
Jenkins pipeline (Declarative pipeline)  (0) 2022.12.29
Jira로 협업하기 - 용어 정리  (0) 2022.12.08