-
정규 표현식(Regular Expression)EDI 관련 기술 용어 2022. 12. 2. 10:30
특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어를 정규 표현식이라고 합니다.
사람들이 은근히 많이 써오던 것이 정규 표현식(Regular Expression)이기 때문에, 오늘은 정규 표현식에 대해 알아보도록 하겠습니다.
정규 표현식 정의
정규 표현식은 패턴이라고 보면 되는데, 특정 목적을 위해 필요한 문자열 집합을 지정하기 위해 쓰이는 식입니다.
텍스트를 검색하거나, 치환하여 어떤 문자열을 추출/처리하고자 할 때 주로 쓰입니다.
예를 들면, 엑셀에서 빠른 채우기로 내용을 추출하는 방식과 같다고 할 수 있습니다.
정규 표현식은 언어와 프로그램 종류에 따라 조금씩 다르기 때문에 사용하는 언어에 맞게 작성해야 합니다.
PHP 정규 표현식
PHP(Hypertext Preprocessor)에서는 다음과 같은 두 가지의 정규 표현식을 지원합니다.
1. POSIX
2. PCRE(Perl-Compatible Regular Expression)
POSIX 정규 표현식은 배우기가 쉽고 실행 속도가 빠른 편입니다.
PCRE 정규 표현식은 POSIX 정규 표현식을 확장하였기에 더 강력하고 유연하게 동작합니다.
정규 표현식은 프로그래밍 언어, 문자 처리 프로그램, 고급 문서 편집기 등의 프로그램에서 널리 지원됩니다.
정규 표현식 지원은 자바와 파이썬을 포함한 여러 프로그래밍 언어의 표준 라이브러리의 일부가 되었으며, 펄과 ECMA스크립트에서는 기본 문법으로 통합되었습니다.
이외에도 여러 정규 표현식이 있으며, 정규 표현식 간에 약간의 차이는 있으나 거의 비슷합니다.
정규 표현식의 형태
정규 표현식의 형태는 크게 패턴(pattern)과 플래그(flag) 두 영역으로 나눠집니다.
시작 기호 /와 종료기호 / 사이에 패턴이 들어가고, 종료 기호 뒤에 플래그가 들어갑니다.
플래그를 사용하여 기본 검색 설정을 변경할 수 있습니다.
정규 표현식 특수 문자/메타
정규 표현식을 사용해서 단순한 패턴을 검색하려고 할 때는 찾으려고 하는 문자열을 직접 나열하면 됩니다.
숫자만 검색하거나, 띄어쓰기를 찾는 등 정확히 일치하는 패턴보다 더 복잡한 조건을 사용하려고 할 때, 특수 문자를 사용해야 합니다.
정규 표현식에서 사용하는 특정 의미를 가지는 기호를 특수 문자 또는 메타(meta) 문자라고 합니다.
정규 표현식 위치 문자, 선택 문자, 문자 클래스
정규 표현식에서는 해당 문자열에서 패턴을 검색할 단어 위치까지 지정이 가능합니다.
'^'는 단어의 맨 앞에 위치한 해당 패턴만을 검색합니다.
'$'는 단어의 맨 뒤에 위치한 해당 패턴만을 검색합니다.
정규 표현식에서는 특수문자 '|'를 사용하여 여러 개의 검색 패턴을 사용할 수 있습니다.
특수문자 '|'로 구분된 정규 표현식 중 어느 하나에만 일치해도 검색됩니다.
문자 클래스는 정규 표현식에서 명시된 범위에 해당하는 한 문자만을 선택하기 위해 사용되는 문자입니다.
문자 클래스는 []를 사용하여 표현합니다.
POSIX 정규 표현식에서만 사용할 수 있는 문자 클래스가 존재하는데, 아래 표를 참고하시면 됩니다.
[참고 자료]
'EDI 관련 기술 용어' 카테고리의 다른 글
WSDL(Web Services Description Language) (0) 2022.12.30 VPN(Virtual Private Network) (0) 2022.12.16 TCP와 UDP (0) 2022.11.04 SSL/TLS (0) 2022.10.14 REST와 SOAP 비교 (1) 2022.10.07