RegEX
정규 표현식
- 프로그래밍에서 문자열을 다룰 때 사용하는 형식 언어.
RegEx
혹은 RegExp
라고 함 - 문자열이 준수해야 하는 패턴을 표현. 문자열의 검색 혹은 치환 등에 사용
- 대부분의 프로그래밍 언어에서 표준 라이브러리로 제공
- 프로그래밍 언어 및 라이브러리마다 약간씩 문법이 다를 수 있음
- 표준으로 인정된 POSIX를 확장한 문법을 각 언어에서 사용
문법 (POSIX)
.
: 1개의 문자[]
: [] 내부 문자 중 한 개를 선택[x-y]
: x 부터 y 사이의 문자 하나를 선택[^]
: [] 내부 문자를 제외한 한 개의 문자를 선택
^
: 문자열의 처음$
: 문자열의 끝()
: ()내의 여러 식들을 묶음{n, m}
: 앞의 패턴을 n회 이상 m회 이하 반복{n}
: 앞의 패턴을 n회 반복{n, }
: 앞의 패턴을 n회 이상 반복
*
: 앞의 패턴을 0회 이상 반복, {0, }
와 동일?
: 앞의 패턴을 0회 또는 1회 사용, {0, 1}
와 동일+
: 앞의 패턴을 1회 이상 반복, {1, }
와 동일|
: 앞 뒤의 두 식 중 하나를 선택\
: Escape character. 메타 문자를 사용할때 및 여러 특수 문자에 사용
예시
^[0-9]*$
: 숫자^[a-zA-Z]*$
: 영문자자^[가-힣]*$
: 현대 한글^[a-zA-Z0-9]*$
: 영문 및 숫자
References
- https://namu.wiki/w/%EC%A0%95%EA%B7%9C%20%ED%91%9C%ED%98%84%EC%8B%9D
- https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D